配置在nginx.conf文件中的http配置項內(nèi)
方式1: 輪詢
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
}
方式2: 權(quán)重輪詢
upstream xxx_server_name{
server 192.168.10.1:80 weight=1;
server 192.168.10.2:80 weight=2;
server 192.168.10.3:80 weight=3;
}
方式3: ip_hash
每一個請求按訪問ip的hash結(jié)果分配
upstream xxx_server_name{
ip_hash;
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
}
方式4: 按后端服務(wù)器的響應(yīng)時間來分配請求。響應(yīng)時間短的優(yōu)先分配
fair(第三方), fair顧名思義,公平地按照后端服務(wù)器的響應(yīng)時間(rt)來分配請求,響應(yīng)時間短即rt小的后端服務(wù)器優(yōu)先分配請求。如果需要使用這種調(diào)度算法,必須下載Nginx的upstr_fair模塊。
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
fair;
}
方式5:url_hash
目前用consistent_hash替代url_hash與ip_hash類似,但是按照訪問url的hash結(jié)果來分配請求,使得每個url定向到同一個后端服務(wù)器,主要應(yīng)用于后端服務(wù)器為緩存時的場景下。
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
hash $request_uri;
hash_method crc32;
}
使用方式
將server節(jié)點下的location節(jié)點中的proxy_pass配置為:http:// + upstream名稱,即“
http://xxx_server_name”
示例:
location / {
root html;
index index.html index.htm;
proxy_pass http://xxx_server_name;
}