Nginx не останавливается при подключении через веб-сокет

Nginx не останавливается при подключении через веб-сокет

У меня nginx 1.6.2 с конфигурацией для обновления соединения до websocket.

 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";

Если соединение websocket не открыто, срабатывает «service nginx stop», и оба процесса — главный и рабочий — корректно останавливаются.

    killproc $prog -QUIT

Но когда у меня открыт веб-сокет, nginx не может быть остановлен, даже если я получаю:

Stopping nginx:                                            [  OK  ]

Я пытался :

killproc $prog -KILL

но, как и ожидалось, он принудительно убивает главный процесс при первом запуске команды и рабочий процесс при повторном выполнении.

Что вы рекомендуете для принудительного завершения работы nginx? Я думаю заменить killproc на:

pkill $prog

решение1

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

Попробуйте использовать TERMили INTвместо KILL. KILLэто слишком «быстро», это не даст главному процессу nginx возможности остановить рабочие процессы.

Связанный контент