轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/80541464
本文出自【趙彥軍的博客】nginx
upstream 支持4種負載均衡調度算法:算法
A)輪詢(默認)
:每一個請求按時間順序逐一分配到不一樣的後端服務器;後端
B)ip_hash
:每一個請求按訪問IP的hash結果分配,同一個IP客戶端固定訪問一個後端服務器。能夠保證來自同一ip的請求被打到固定的機器上,能夠解決session問題。緩存
C)url_hash
:按訪問url的hash結果來分配請求,使每一個url定向到同一個後端服務器。後臺服務器爲緩存的時候效率。服務器
D)fair
:這是比上面兩個更加智能的負載均衡算法。此種算法能夠依據頁面大小和加載時間長短智能地進行負載均衡,也就是根據後端服務器的響應時間來分配請求,響應時間短的優先分配。Nginx
自己是不支持 fair
的,若是須要使用這種調度算法,必須下載Nginx的 upstream_fair
模塊。微信
打開 nginx 配置文件session
[root@master ~]# vi /etc/nginx/conf.d/default.conf
寫輪訓配置負載均衡
#設定負載均衡服務器列表 upstream roundrobin { #後端服務器訪問規則 server 192.168.1.115:8080 weight=1; #server1 server 192.168.1.131:8081 weight=1; #server1 server 192.168.1.94:8090 weight=1; #server3 } server { listen 80; server_name 192.168.1.131; location / { proxy_pass http://roundrobin; } }
配置完成後url
//檢查 nginx 配置是否正確 nginx -t //從新加載 nginx 配置 service nginx reload
當訪問 http://192.168.131
的時候,會把這個請求負載到 192.168.1.115
的 8080
端口、192.168.1.115
的 8080
端口、192.168.1.115
的 8080
端口。負載的權重由 weight 來決定,默認爲 1 ,weight 越大,權重就越大。.net
#設定負載均衡服務器列表 upstream roundrobin { #後端服務器訪問規則 ip_hash; #添加參數支持哈希 server 192.168.1.115:8080 weight=1; #server1 server 192.168.1.131:8080 weight=1; #server1 server 192.168.1.94:8090 weight=1; #server3 } server { listen 80; server_name 192.168.1.131; location / { proxy_pass http://roundrobin; } }
注意:backup不能和ip_hash同時配置。由於ip_hash只能訪問同一臺服務器,而backup是在只有全部參與 負載均衡的服務器出現故障時,纔會請求備份機。當全部負載均衡的服務器出現故障了,ip_hash的將沒法 請求了。
#設定負載均衡服務器列表 upstream roundrobin { #後端服務器訪問規則 server 192.168.1.115:8080 weight=1; #server1 server 192.168.1.131:8080 down; #server2 不參與負載 server 192.168.1.94:8090 backup; #server3 備份機 } server { listen 80; server_name 192.168.1.131; location / { proxy_pass http://roundrobin; } }
我的微信號:zhaoyanjun125 , 歡迎關注