原文轉自:http://tomyz0223.iteye.com/blog/1046992
nginx的upstream目前支援的5種方式的分配
1、輪詢(預設)
逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。 upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}
指定輪詢幾率,weight和存取比率成正比,用於後端伺服器效能不均的情況。 upstream backserver {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。 upstream backserver {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}
按後端伺服器的回應時間來分配請求,回應時間短的優先分配。 upstream backserver {
server server1;
server server2;
fair;
}
按訪問url的hash結果來分配請求,使每個url定向到同一個後端伺服器,後端伺服器為快取時比較有效。 upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}
proxy_pass http://backserver/ ;
upstream backserver{
ip_hash;
server 127.0.0.1:9090 down; (down 表示单前的server暂时不参与负载)
server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大)
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)
}
以上就介紹了NGinx負載平衡策略,包括了方面的內容,希望對PHP教程有興趣的朋友有幫助。
🎜