1、正向**: 客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向**傳送乙個請求並指定目標(原始伺服器),然後**向原始伺服器轉交請求並將獲得的內容返回給客戶端。
graph lr
client--req-->clientproxy
clientproxy--resp-->client
clientproxy--req-->server
server--resp-->clientproxy
server不知道client是誰
2、反向**:客戶端請求伺服器,中間也是經過乙個**伺服器,客戶端訪問**伺服器就好像訪問目標伺服器一樣。同時**伺服器將請求**到後端具體伺服器。
graph lr
client--req-->serverproxy
serverproxy--resp-->client
serverproxy--req-->server01
server01--resp-->serverproxy
serverproxy--req-->server02
server02--resp-->serverproxy
serverproxy--req-->server03
server03--resp-->serverproxy
客戶端不知道自己具體訪問的伺服器是誰
3、總結
正向**是對客戶端的**,由客戶端設立,客戶端了解**伺服器和目標伺服器,但目標伺服器不了解真正的客戶端是誰;使用正向**可達到 突破訪問限制、提高訪問速度、對伺服器隱藏客戶端ip等目的;
反向**是對伺服器的**,由伺服器設立,客戶端不了解真正的伺服器是誰,使用反向**可達到負載均衡、保障服務端安全、對客戶端隱藏伺服器ip等目的。
集群平攤請求壓力
負載均衡策略:
upstream myserver
upstream myserver
upstream myserver
upstream myserver
upstream myserver
server模組的配置:
server
}
動態頁面和靜態頁面分開部署,把動態頁面的伺服器效能弄的好一些,靜態頁面的伺服器可以差一些,並且可以設定快取。
1、root和alias的區別
root /home/nginx;
} alias /home/nginx/;
}設定併發數和連線數
連線數:
靜態資源:2
graph lr
client--請求靜態資源1-->nginx
nginx--返回靜態資源2-->client
反向**:4
graph lr
client--請求動態資源1-->nginx
nginx--請求後端服務2-->server
server--返回資料3-->nginx
nginx--返回動態資源4-->client
每個worker都維護乙個執行緒處理請求worker_processes設定的數量和cpu核數最好相等,每個worker都是乙個獨立的程序
3個worker
root 20789 1 0 10:19 ? 00:00:00 nginx: master process nginx
nobody 22281 20789 0 10:47 ? 00:00:00 nginx: worker process
nobody 22282 20789 0 10:47 ? 00:00:00 nginx: worker process
nobody 22283 20789 0 10:47 ? 00:00:00 nginx: worker process
root 22319 20514 0 10:48 pts/1 00:00:00 grep --color=auto nginx
1個worker
root 20789 1 0 10:19 ? 00:00:00 nginx: master process nginx
nobody 22376 20789 0 10:49 ? 00:00:00 nginx: worker process
root 22378 20514 0 10:49 pts/1 00:00:00 grep --color=auto nginx
graph tb
linux-->master
master-->worker1
master-->worker2
master-->worker3
worker1-->client1
worker1-->client2
worker2-->client3
worker2-->client4
worker3-->client5
worker3-->client6
支援熱部署reload,乙個worker修改config,其他繼續處理請求
程序獨立,每個worker都是乙個程序,不會造成服務中斷
nginx基本原理
反向 就是將多台伺服器 成一台伺服器 反向 的作用 a.保護內網安全 b.負載均衡 c.快取,減少伺服器壓力 那麼什麼是負載均衡呢?負載均衡就是我們的專案部署到不同的伺服器上,但是通過統一的網域名稱進入,nginx則對請求進行分發,減輕伺服器的壓力,提高伺服器的吞吐量。另外 nginx還可以作用靜態...
nginx 使用手冊(持續完善中)
3 反向 負載 4.正向 上網 5.nginx https證書配置 6.nginx 常見問題及解決方案 centos系統安裝nginx docker pull nginx 2.常見nginx根目錄及配置檔案 mkdir mnt nginx html mkdir mnt nginx config vi...
Redux基本原理和使用
redux不是說任何的應用都要用到它,如果遇到了react解決不了得問題,可以考慮使用它。例如 使用者的使用方式複雜 不同身份的使用者有不同的使用方式 比如普通使用者和管理員 多個使用者之間可以協作 與伺服器大量互動,或者使用了websocket view要從多個 獲取資料 redux的設計思想 1...