我有 nginx 1.6.2 配置来升级到 websocket 的连接。
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
当没有打开 websocket 连接时,“service nginx stop”起作用,master 和 worker 进程都被优雅地停止。
killproc $prog -QUIT
但是当我打开 websocket 时,nginx 无法停止,即使我得到:
Stopping nginx: [ OK ]
我试过了 :
杀进程 $prog -KILL
但正如预期的那样,它会在我第一次运行命令时强行杀死主人,如果我重新执行,它会强制杀死工人。
您建议在 nginx 上强制关闭什么?我正在考虑将 killproc 替换为:
杀戮 $prog
http://nginx.org/en/docs/control.html
尝试使用
TERM
orINT
代替KILL
.KILL
太“快”了,它没有给 nginx 的主人一个机会来阻止工人。