У меня есть nginx 1.6.2 с конфигурацией для обновления подключения к websocket.
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Когда соединение с веб-сокетом не открыто, работает «остановка службы nginx», и главный и рабочий процесс корректно останавливаются.
killproc $prog -QUIT
Но когда у меня открыт веб-сокет, nginx не может быть остановлен, хотя я получаю:
Stopping nginx: [ OK ]
Я попытался :
killproc $ prog -УБИТЬ
но, как и ожидалось, он принудительно убивает мастера при первом запуске команды и рабочего при повторном выполнении.
Что вы посоветуете для принудительного завершения работы nginx? Думаю заменить killproc на:
pkill $ prog
http://nginx.org/en/docs/control.html
Попробуй использовать TERM
или INT
вместо того KILL
. KILL
слишком "быстрый", он не дает мастеру nginx шанса остановить воркеры.