Nginx 負載均衡

2021-06-29 14:25:33 字數 1699 閱讀 4690

nginx強大的web伺服器,還是反向**伺服器,而且nginx還可以按照排程規則實現動態、靜態頁面的分離,可以按照輪詢、ip雜湊、url雜湊、權重等多種方式對後端伺服器做負載均衡,同時還支援後端伺服器的健康檢查。

nginx 的 upstream 支援5種負載均衡方式:

1)、輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

2)、weight

指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。

3)、ip_hash

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。 

4)、fair(第三方)

按後端伺服器的響應時間來分配請求,響應時間短的優先分配。 

5)、url_hash(第三方)

模擬場景:

本機啟動兩個web服務(tomcat1和tomcat2),為了同一臺機器能夠啟動兩個tomcat,需要修改埠號

我做了兩個web服務的war包,部署在裡面。

本機ip: 10.1.230.200

tomcat1 本機:10.1.230.200 埠:8080

tomcat2 本機:10.1.230.200 埠:8081

tomcat2配置修改

<?xml version='1.0' encoding='utf-8'?>

documentation at: /docs/config/valve.html -->

然後修改nginx服務的conf配置檔案,實現最基本的負載均衡

注意: location裡面要配置proxy_pass 指向upstream配置的site名稱

這樣,你每次去訪問nginx的時候,就會由nginx自動跳轉到tomcat1或者tomcat2,預設為輪詢的方式。

當然還可以通過其他方式來完成負載均衡策略

反向**:

指令說明:

proxy_pass

語法:proxy_pass

url預設值:no      

使用字段:location, location中的if欄位      

這個指令設定被**伺服器的位址和被對映的uri,位址可以使用主機名或ip加埠號的形式,例如:

這樣就可以自動**到設定的位址上了。

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