Nginx#upstream指令参数

Posted 胡金水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx#upstream指令参数相关的知识,希望对你有一定的参考价值。

mac_conns:

  限制每台服务器最大连接数,用于保护避免过载,可起到限流作用。mac_conns=2,默认0代表不做限制(注意:1.11.5以前无法使用该参数)

upstream serverMacConns{
		server 192.168.1.2 mac_conns=2;
		server 192.168.1.3 mac_conns=2;
}

slow_start

  缓慢的从weight=0开始加到weight所配置的值。

  注意:该参数① 不能使用在hash和random load balancing中;② 只有商业版才能使用;③ 如果在upstream中只有一台server,则该参数无效。

upstream serverSlowStart{
		server 192.168.1.1 weight=6 slow_start=60s;
		server 192.168.1.2 weight=4;
		server 192.168.1.3 weight=2;
}

down

  将服务器标记为永久不可用。

upstream serverDown{
		server 192.168.1.1 down;
		server 192.168.1.2 weight=4;
		server 192.168.1.3 weight=2;
}

backup

  将服务器标记为备份服务器。当主服务器不可用时,它将被传递给请求。只有其他服务器不可用时,才能使用备份服务器。(注意:该参数不能使用在hash和random load balancing中)

upstream serverBackup{
		server 192.168.1.1 backup;
		server 192.168.1.2 weight=4;
		server 192.168.1.3 weight=2;
}

max_fails和fail_timeout

  max_fails表示失败几次,则标记服务器为已宕机,并踢除;fail_timeout表示失败的重试时间。

如max_fails=2 fail_timeout=15s,则表示在15秒内请求某一服务器失败达到2次后,则认为该server已经挂了,随后再过15秒,这15秒内不会有新的请求到刚刚挂掉的节点上,而是到正常的服务器。15秒后会再有新请求尝试连接挂掉的服务器,如果还是失败,重复上一过程,直到恢复。

upstream serverMaxFailsFailTimeout{
		server 192.168.1.1 max_fails=2 fail_timeout=15s;
		server 192.168.1.2 weight=4;
		server 192.168.1.3 weight=2;
}

以上是关于Nginx#upstream指令参数的主要内容,如果未能解决你的问题,请参考以下文章

【NGINX入门】8.Nginx的upstream 模块及参数测试

Nginx-upstream模块

nginx 未知指令“上游”

nginx学习——模块指令介绍

Nginx之反向代理和负载均衡

Nginx作为负载均衡器upstream