nginx -s stop и -s quit В чем разница?

22

Я могу остановить использование сервера nginx nginx -s stopили nginx -s quit.

В чем разница?

Koerr
источник

Ответы:

32

Выйти изящное отключение. Nginx заканчивает обслуживание открытых соединений перед выключением

Стоп - это быстрое отключение, при котором происходит прерывание между обслуживанием соединения.

http://wiki.nginx.org/CommandLine

Самир
источник
6

-s stopнемедленно завершает процесс nginx, а корректно завершает работу -s quit.

EEAA
источник
3

SIGQUITприводит к сбою nginx, если он прослушивает сокеты домена Unix. Он не сможет очистить сокеты, а затем немедленно прекратит работу при следующем вызове, потому что он не может создавать сокеты на уже существующих путях.

SIGTERMзаставляет nginx завершать работу в согласованном состоянии, из которого он может начать резервное копирование. Демон удаляет все доменные сокеты Unix, оставляет все кэши в работоспособном состоянии и так далее.

Вы в принципе никогда не хотите использовать QUIT.

Джон Мозер
источник
Кажется, проблема с сокетами домена Unix связана с открытой проблемой в nginx. Однако, если вы не используете сокеты этого типа, кажется очевидным, что эта quitопция задокументирована как способ сделать изящный выход.
RichVel