nginx可以基于ngx_http_upstream_module模块提供服务器分组转发,权重分配,状态监测,调度算法等高级功能。如果要使用upstream模块就要在安装nginx的时候开启该参数。
1. http upstream参数
upstream webserver {
#hash $request_uri consistent;
#ip_hash;
#least_conn;
server 192.168.7.103:80 weight=1 fail_timeout=5s max_fails=3; #后端服务器状态监测
server 192.168.7.104:80 weight=1 fail_timeout=5s max_fails=3;
server 192.168.7.101:80 weight=1 fail_timeout=5s max_fails=3 backup;
}
location /web {
index index.html;
proxy_pass http://webserver/;
}
参数解析:
server address #配置后端服务器
weight=number #设置权重,默认为1
max_fails=3 #对后端服务器连续监测失败多少次就标记为不可用
max_conns=number #给当前server设置最大活动连接数,默认为0表示没有限制
fail_timeout=time #对后端服务器的单次检测超时时间,默认为10s
backup #设置为备份服务器,当所有服务器不可用时将重新启用次服务器
down #标记为down状态
resolve #当server定义的时主机名的时候,当A记录发生变化会自动应用新IP而不用重启nginx