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
действие, то есть:
/etc/init.d/nginx reload
/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