我有 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
尝试使用TERM
或INT
代替KILL
。
KILL
太“快”,它不会给 nginx 的 master 机会来停止 worker。