Apache has a graceful option which can scan for modification in http.conf without restarting Apache. What about nginx?


nginx supports the following signals :

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 is what you are looking for, so sudo kill -HUP pid (nginx pid)

source : http://nginx.org/en/docs/control.html


Use nginx -s reload

  • 4
    ^This 100%. Worked a charm. – nottinhill Sep 26 '13 at 12:00
  • 1
    This didn't take http basic authentication changes into effect for me. – Nick Rolando Mar 4 '16 at 0:29
  • This should be the accepted answer. – John Foley Nov 29 '16 at 17:00

Usually nginx's init-script has reload action, i.e:

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

service nginx reload ?

P.S. Doesn't work on Windows.


I wrote about how to restart nginx with zero downtime a while ago. This may be helpful for you.


  • 8
    Your blog thing has no actual information. – Geuis Jun 20 '13 at 7:32
  • 2
    USR2 is for upgrading the executable, not for simple config reloading. – Brad May 22 '14 at 21:19

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.