Назад | Перейти на главную страницу

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

У меня есть 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 шанса остановить воркеры.