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

Как сделать так, чтобы изменение вступило в силу без перезапуска nginx?

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

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

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

Обычно сценарий инициализации nginx имеет reload действие, то есть:

  • Linux /etc/init.d/nginx reload
  • FreeBSD /usr/local/etc/rc.d/nginx reload

service nginx reload ?

P.S. Не работает в Windows.

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

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