客戶端想要訪問乙個伺服器,但是它可能無法直接訪問這台伺服器,這時候這可找一台可以訪問目標伺服器的另外一台伺服器,而這台伺服器就被當做是**人的角色 ,稱之為**伺服器,於是客戶端把請求發給**伺服器,由**伺服器獲得目標伺服器的資料並返回給客戶端。客戶端是清楚目標伺服器的位址的,而目標伺服器是不清楚來自客戶端,它只知道來自哪個**伺服器,所以正向**可以遮蔽或隱藏客戶端的資訊。
從上面的正向**,你會大概知道**伺服器是為客戶端作**人,它是站在客戶端這邊的。其實反向**就是**伺服器為伺服器作**人,站在伺服器這邊,它就是對外遮蔽了伺服器的資訊,常用的場景就是多台伺服器分布式部署,像一些大的**,由於訪問人數很多,就需要多台伺服器來解決人數多的問題,這時這些伺服器就由乙個反向**伺服器來**,客戶端發來請求,先由反向**伺服器,然後按一定的規則分發到明確的伺服器,而客戶端不知道是哪台伺服器。常常用nginx來作反向**。
負載:就是nginx接受請求
均衡:nginx將收到的請求按照一定的規則分發到不同的伺服器進行處理
nginx支援的負載均衡排程演算法方式如下:
weight輪詢(預設):接收到的請求按照順序逐一分配到不同的後端伺服器,即使在使用過程中,某一台後端伺服器宕機,nginx會自動將該伺服器剔除出佇列,請求受理情況不會受到任何影響。 這種方式下,可以給不同的後端伺服器設定乙個權重值(weight),用於調整不同的伺服器上請求的分配率;權重資料越大,被分配到請求的機率越大;該權重值,主要是針對實際工作環境中不同的後端伺服器硬體配置進行調整的。
ip_hash:每個請求按照發起客戶端的ip的hash結果進行匹配,這樣的演算法下乙個固定ip位址的客戶端總會訪問到同乙個後端伺服器,這也在一定程度上解決了集群部署環境下session共享的問題。
fair:智慧型調整排程演算法,動態的根據後端伺服器的請求處理到響應的時間進行均衡分配,響應時間短處理效率高的伺服器分配到請求的概率高,響應時間長處理效率低的伺服器分配到的請求少;結合了前兩者的優點的一種排程演算法。但是需要注意的是nginx預設不支援fair演算法,如果要使用這種排程演算法,請安裝upstream_fair模組。
url_hash:按照訪問的url的hash結果分配請求,每個請求的url會指向後端固定的某個伺服器,可以在nginx作為靜態伺服器的情況下提高快取效率。同樣要注意nginx預設不支援這種排程演算法,要使用的話需要安裝nginx的hash軟體包。
Nginx的常用功能
server server server 192.168.20.1 8080 應用伺服器1 server 192.168.20.2 8080 應用伺服器2 server ip hash 根據客戶端ip位址hash值將請求分配給固定的乙個伺服器處理 server 192.168.20.1 8080 s...
Nginx常用功能詳解
一 nginx目錄保護及訪問限制 nginx保護目錄的配置如下,目錄密碼保護檔案是 usr local nginx htpasswd location admin location php 注意,設定目錄密碼保護時,請注意配置區塊的位置,如果放在location php 區塊後面,如果開啟的是靜態頁...
Nginx的常用功能簡介
以上就是我了解到的nginx在不依賴第三方模組能處理的事情,下面詳細說明每種功能怎麼做 server 儲存配置檔案後啟動nginx,這樣當我們訪問localhost的時候,就相當於訪問localhost 8080了 負載均衡也是nginx常用的乙個功能,負載均衡其意思就是分攤到多個操作單元上進行執行...