我计划使用Nginx代理websocket.当执行Nginx reload / HUP时,我知道Nginx等待旧的工作进程停止处理所有请求.但是,在websocket连接中,由于连接是持久的,因此可能不会发生很长时间.是否有一个选项/路线图可以在重新加载超时后强行杀死旧的工作进程?
参考文献:
http://nginx.org/en/docs/control.html
http://forum.nginx.org/read.php?21,247651#msg-247651
谢谢
There is proxy_read_timeout (07001)
which as well applies to WebSocket connections. You have to bump it
if your backend do not send anything for a long time. Alternatively,
you may configure your backend to send websocket ping frames
periodically to reset the timeout (and check if the connection is
still alive).
话虽这么说,但没有什么可以阻止您使用USR2 QUIT信号组合的,该组合通常在二进制升级时正常重启Nginx时使用. Nginx主机/工作进程很少会消耗超过50MB的内存,因此保留多个主机并没有那么昂贵. USR2帮助派生新的master和master,然后正常关闭老worker和master.
原文地址:https://www.jb51.cc/nginx/532288.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。