Как заставить изменения вступить в силу, не перезапуская nginx?

74

В Apache есть gracefulопция, которая может сканировать изменения http.confбез перезапуска Apache. Что насчет nginx?

VPS
источник

Ответы:

72

nginx поддерживает следующие сигналы:

TERM, INT - Quick shutdown
QUIT - Graceful shutdown
HUP - Configuration reload: Start the new worker processes with a new configuration, Gracefully shutdown the old worker processes
USR1 - Reopen the log files
USR2 - Upgrade Executable on the fly
WINCH - Gracefully shutdown the worker processes

HUP это то, что вы ищете, так sudo kill -HUP pid (nginx pid)

источник: http://nginx.org/en/docs/control.html

Razique
источник
90

Используйте nginx -s reload

Этан Кейн
источник
4
^ Это 100%. Работал шарм.
Сетки
1
Для меня это не привело к изменениям в базовой аутентификации http.
Ник Роландо
Это должен быть принятый ответ.
Джон Фоли
20

Обычно init-скрипт nginx имеет reloadдействие, то есть:

  • Linux /etc/init.d/nginx reload
  • FreeBSD /usr/local/etc/rc.d/nginx reload
SaveTheRbtz
источник
2

service nginx reload ?

PS Не работает на Windows.

анатолий техтоник
источник
-1

Я писал о том, как перезапустить nginx с нулевым временем простоя некоторое время назад. Это может быть полезно для вас.

http://tumblelog.jauderho.com/post/101514948/restart-nginx-with-zero-downtime

Джодер Хо
источник
8
В вашем блоге нет актуальной информации.
Geuis
2
USR2предназначен для обновления исполняемого файла, а не для простой перезагрузки конфигурации.
Брэд