upstream配置 方式:
server address [paramters]
如下:
[root@zk03 nginx]# vi conf/extra/proxy.conf
upstream tomcat
server
}
負載均衡策略或者演算法
輪詢演算法(預設): 如果後端伺服器宕機以後,會自動踢出
ip_hash: 根據請求的ip位址進行hash
權重輪詢:
預設是輪訓演算法 所以多次重新整理,隨機訪問 zk01和zk02上的tomcat。
修改為ip_hash
如下:
[root@zk03 nginx]# vi conf/extra/proxy.conf
upstream tomcat
server
}
其他配置資訊
proxy_next_upstream
語法:proxy_next_upstream [error | timeout | invalid_header | http_500 | http_502 | http_503 | http_504 |http_404 | off ];
預設:proxy_next_upstream error timeout;
配置塊:http、server、location
這個配置表示當向一台上游伺服器**請求出現錯誤的時候,繼續換一台伺服器來處理這個請求。預設情況下,上游伺服器一旦開始傳送響應資料(返回到請求端的資料),nginx反向**伺服器會立刻把應答包**給客戶端。因此,一旦nginx開始向客戶端傳送響應包,即使中途出現錯誤也不允許切換到下乙個上游伺服器繼續處理。這樣做的目的是保證客戶端只收到來自同乙個上游伺服器的應答。
proxy_connect_timeout
語法: proxy_connect_timeout time;
預設: proxy_connect_timeout 60s;
範圍: http, server, location
用於設定nginx與upstream server的連線超時時間,比如我們直接在location中設定proxy_connect_timeout1ms, 1ms很短,如果無法在指定時間建立連線,就會報錯。
proxy_send_timeout
範圍: http, server, location
向後端寫資料的超時時間,兩次寫操作的時間間隔如果大於這個值,也就是過了指定時間,後端還沒有收到資料,連線會被關閉
proxy_read_timeout
範圍: http, server, location
從後端讀取資料的超時時間,兩次讀取操作的時間間隔如果大於這個值,那麼nginx和後端的鏈結會被關閉,如果乙個請求的處理時間比較長,可以把這個值設定得大一些
proxy_upstream_fail_timeout
設定了某乙個upstream後端失敗了指定次數(max_fails)後,在fail_timeout時間內不再去請求它,預設為10秒
語法 server address [fail_timeout=30s]
upstream backend
配置示例如下,這裡不做演示了:
upstream tomcat
server
}
nginx 負載均衡 Nginx負載均衡策略
nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...
nginx負載均衡
nginx 的 upstream目前支援 4 種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。3 ip hash 每個請求按訪問ip的hash...
nginx負載均衡
nginx s stop quick exit nginx s quit graceful quit nginx s reload changing configuration,starting a new worker,quitting an old worker gracefully nginx...