nginx負載均衡配置參數有:1、upstream配置,在http配置下增加即可;2、權重配置,用來解決上游服務器配置不均衡的情況;3、ip_hash配置,使每一個請求按照請求ip的hash結進行分配;4、fair配置,按上游服務器的響應時間來分配請求;5、url_hash配置,按照訪問url的hash結果來分配請求,從而讓每個url定向到同一個上游服務器中。
具體內容如下:
Nginx能夠配置代理多臺服務器。當一臺服務器宕機之后。仍能保持系統可用,下面是常用的一些配置項。
1、upstream配置:
在http配置下增加upstream配置即可:
upstream nodes {server 192.168.10.1:8668;
server 192.168.10.2:8668;
}
upstream對配置的上游服務器按照默認的輪詢方式進行請求。如果上游服務器掛掉,能自己主動剔除,無需手動干預。這種方式簡單快捷。但是如果上游服務器在配置不均衡的情況下,是解決不了的。所以nginx有其他很多的配置項。
2、權重配置:
weight和請求數量成正比,主要用于上游服務器配置不均衡的情況。下面的配置中,192.168.10.2機器的請求量是192.168.10.1機器請求量的2倍。
upstream nodes {server 192.168.10.1:8668 weight=5;
server 192.168.10.2:8668 weight=10;
}
3、ip_hash配置:
每一個請求按照請求的ip的hash結果分配。這樣每一個請求固定落在一個上游服務器,能夠解決ip會話在同一臺服務器的問題。
upstream nodes {ip_hash;
server 192.168.10.1:8668;
server 192.168.10.2:8668;
}
4、fair配置:
按上游服務器的響應時間來分配請求。響應時間短的優先分配。
upstream nodes {server 192.168.10.1:8668;
server 192.168.10.2:8668;
fair;
}
5、url_hash配置:
按照訪問的url的hash結果來分配請求,使每一個url定向到同一個上游服務器。注意:在upstream中加入hash語句。server語句中不能寫入weight等其他的參數,hash_method是使用的hash算法。
upstream nodes {server 192.168.10.1:8668;
server 192.168.10.2:8668;
hash $request_uri;
hash_method crc32;
}
down:表示當前的server不參與負載均衡。
max_fails :請求失敗的次數默覺得1。
fail_timeout : max_fails次失敗后,暫停請求此臺服務器的時間。
ckup: 其他全部的非backup機器down或者忙的時候,請求backup機器。所以這臺機器壓力會最輕。