Nginx 不会因 websocket 连接而停止

Nginx 不会因 websocket 连接而停止

我有 nginx 1.6.2,配置为升级到 websocket 的连接。

 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";

当没有打开 websocket 连接时,“service nginx stop”起作用,主进程和工作进程都会正常停止。

    killproc $prog -QUIT

但是当我打开 websocket 时,nginx 无法停止,即使我得到:

Stopping nginx:                                            [  OK  ]

我试过 :

killproc $prog-KILL

但正如预期的那样,第一次运行命令时它会强制杀死主服务器,如果我重新执行,它会强制杀死工作服务器。

您建议如何强制关闭 nginx ?我正在考虑用以下方法替换 killproc :

pkill $prog

答案1

http://nginx.org/en/docs/control.html

尝试使用TERMINT代替KILLKILL太“快”,它不会给 nginx 的 master 机会来停止 worker。

相关内容