nginx負載均衡

2021-09-11 05:47:21 字數 1732 閱讀 3942

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...