upstream指令参数:
-
max_conns:限制服务器最大(同时发生的)连接数,默认为0(即没有限制)。
用于避免过载,可起到限流的作用
当有多个工作进程时,会涉及到共享内存,多个工作进程都能生效这个限制,多个工作进程必会超过限制
nginx的1.11.5前只能适用于商业版
upstream tomcats{ server 192.168.1.173:8080 max_conns=2; server 192.168.1.174:8080 max_conns=2; server 192.168.1.175:8080 max_conns=2; }
-
slow_start:缓慢启动,使服务器缓慢加入集群,让用户所有流量都能访问到
可以监控流量从小到大
设置时间后,启动时权重会从0升级到设置的值
参数不能使用哈希 随机负载均衡也是不支持的,带权重的才支持
并且该参数不适用于单个server,只适用于集群
该参数只有商业版才能适用
upstream tomcats{ #需要配置权重才能适用 server 192.168.1.173:8080 weight=2 slow_start=60s; server 192.168.1.174:8080 weight=3; server 192.168.1.175:8080 weight=5; }
-
down:表示服务器状态,是否可用
upstream tomcats{ server 192.168.1.173:8080 down; #这台服务器用户无法访问 server 192.168.1.174:8080 weight=2; server 192.168.1.175:8080 weight=5; }
-
backup:备份,标记的服务器是台备用机,用户一开始无法访问
只有其他服务器挂掉后,才能被用户访问
upstream tomcats{ server 192.168.1.173:8080 backup; #用户一开始无法访问 server 192.168.1.174:8080 weight=2; server 192.168.1.175:8080 weight=5; }
-
max_fails:最大失败次数,超过时,该台服务器便被认为宕机,用户不会访问
默认值为1
-
fail_timeout:失败的时间段,与上面参数共同使用
在该时间段内,已经超过失败次数,那么该时间段内无法访问该台服务器,超过这个时间段后,又会重新尝试请求访问
默认值为10秒
upstream tomcats{ server 192.168.1.173:8080 max_fails=2 fail_timeout=1s; server 192.168.1.174:8080 weight=2; server 192.168.1.175:8080 weight=5; }