下载
http://nginx.org/en/download.html

nginx的负载均衡策略
轮询(默认)
每个请求按照请求时间顺序分配到不同的后端服务器,如果后端服务器挂了,则自动剔除。
此策略还可以设置:权重,指定轮询的频率,weight和访问率成正比,用于后端服务器性能不均匀的情况。
ip_hash
客户端ip地址被用作hash key来判断客户端请求应该发送到哪个服务器,这种方法保证了来自相同客户端的请求总是发送到相同服务器。
least_conn
最少连接策略,nginx会尽量不让负载繁忙的应用服务器上负载过多的请求,相反的,会把新的请求发送到比较不繁忙的服务器。
配置示例如下:
http {
upstream serverlist{
ip_hash;
##least_conn;
## 屏蔽上述两个参数即采用默认的策略:轮询
server www.test1.com weight=3;// 或者ip+端口 , 不需要加入http/https前缀
server www.test2.com weight=2;
server www.test3.com; // 默认 weight=1
}
server {
listen 80;
location / {
proxy_pass http://serverlist;
}
}
}
故障下线、备份服务、访问失败等配置
1.down
假如有一台主机是出了故障,或者下线了,要暂时移出,那可以把它标为down,表示请求是会略过这台主机的。
upstream serverlist{
server www.test1.com; // 或者ip+端口 , 不需要加入http/https前缀
server www.test2.com down;
}
2.backup
backup是指备份的机器,相对于备份的机器来说,其他的机器就相当于主要服务器,只要当主要服务器不可用的时候,才会用到备用服务器。
upstream serverlist{
server www.test1.com; // 或者ip+端口 , 不需要加入http/https前缀
server www.test2.com backup;
}
3.max_fails和fail_timeout
默认情况下,max_fails的值为1,表示的是请求失败的次数,请求1次失败就换到下台主机。另外还有一个参数是fail_timeout,表示的是请求失败的超时时间,在设定的时间内没有成功,那作为失败处理。
upstream serverlist{
server www.test1.com max_fails=2; // 或者ip+端口 , 不需要加入http/https前缀
server www.test2.com backup;
}
posted on
浙公网安备 33010602011771号