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

但正如預期的那樣,它會在我第一次運行命令時強制殺死 master,如果我重新執行命令,它會強制殺死工人。

您對強制關閉 nginx 有什麼建議?我正在考慮將killproc替換為:

pkill $prog

答案1

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

嘗試使用TERMorINT代替KILLKILL太「快」了,它沒有給nginx的master有機會停止worker。

相關內容