Согласно документации Nginx, SIGQUIT выполнит «плавное завершение работы», а SIGTERM выполнит «быстрое завершение работы». По крайней мере, начиная с версии 1.8.0, Nginx будет оставлять устаревшие сокеты домена UNIX при остановке с помощью сигнала SIGQUIT . Однако сокеты домена UNIX правильно удаляются при использовании сигнала SIGTERM .
Сценарий службы Nginx /etc/init.d/nginx
, предоставленный PPA nginx / stable
, отправляет SIGQUIT в Nginx, когда он останавливается с помощью sudo service nginx stop
или restart
. Чтобы исправить сценарий, измените строку:
STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}"
To:
STOP_SCHEDULE="${STOP_SCHEDULE:-TERM/5/KILL/5}"
Однако служебный сценарий Nginx из репозитория Ubuntu уже использует SIGTERM вместо SIGQUIT и не требует быть модифицированным.