示例:
//多机负载策略:加权轮询(适用于服务器无状态,并且服务器硬件配置不均衡的场景)
upstream setServ {
server 47.100.110.58:80 weight=1;
server 47.100.110.59:8080 weight=4;
}
location / {
//转发到负载服务上
proxy_pass http://setServ;
}
注意: location指定名不可重复,不然会报错。
负载均衡可用参数说明:
Weight:指定轮询权值,Weight值越大,分配到的访问机率越高,主要用于后端每个服务器性能不均的情况;
ip_hash:每个请求按访问IP的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题;
fair:根据服务器接口性能做负载(响应时间短的优先分配)。Nginx本身是不具备此模块,必须下载Nginx的upstream_fair模块才能使用;
url_hash:按访问url的hash值分配请求,使每个url定向到同一个后端服务器。Nginx本身是不支持url_hash的,须安装Nginx的hash软件包才能使用。
负载均衡配置关键字说明:
down:表示当前的server暂时不参与负载均衡;
backup:预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器;
max_fails:允许请求失败的次数(默认1)。当超过最大次数时,返回proxy_next_upstream模块定义的错误;
fail_timeout:在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。