首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新启动NGINX进程时排出连接?

重新启动NGINX进程时排出连接?
EN

Server Fault用户
提问于 2016-05-06 23:56:32
回答 2查看 5.3K关注 0票数 4

我在CentOS 6和7上使用Nginx1.8.1,在部署期间,需要停止NGINX,执行部署,然后再启动NGINX。不幸的是,NGINX在停站期间似乎只有500个连接。由于我正在使用Ansible一次更新2/10主机,因此我们的许多客户端可能在整个部署过程中获得500 d。

是否有办法通过NGINX设置让NGINX进程排出所有活动连接(即等待它们完成),同时在停止时拒绝所有新连接?

我知道亚马逊的弹性负载平衡器确实有此功能。,是否有类似的NGINX?

EN

回答 2

Server Fault用户

发布于 2016-05-07 00:30:17

根据这些评论,您可以尝试使用防火墙来解决这个问题:

  • 任务:阻止传入的新连接,但保持相关的和已建立的连接
  • 尝试:iptables -I INPUT -j DROP -p tcp --syn --destination-port 80 (或443,无论什么适用于您的设置)来设置规则,从而阻塞新的通信量。
  • 你的部署..。
  • 尝试:iptables -D INPUT -j DROP -p tcp --syn --destination-port 80 (或443,无论什么适用于您的设置)来恢复规则,从而允许新的通信量
  • 注意:我刚刚测试了这个,它就像预期的那样工作了。但是:请不要认为这是理所当然的,也为自己测试。反馈欢迎..。

编辑:正如@Guntram在评论中指出的,最好使用iptables -I而不是iptables -A。在上面的代码中适当地改变了这一点。

票数 4
EN

Server Fault用户

发布于 2016-05-07 00:17:41

据我所知,连接排水只有在商业版本,Nginx Plus。

这里有一个关于这个特性的描述:https://www.nginx.com/blog/nginx-plus-r5-released/

它是ngx_http_上游_会议_模块模块的一部分。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/775353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档