58

I just installed Nginx on Mac OS X (thanks http://www.kevinworthington.com/nginx-mac-os-snow-leopard-2-minutes/), but how do I restart Nginx on Mac OS X?

Thanks!

  • 3
    If you just want to restart because of an updated config then just do sudo nginx -s reload. – hobbes3 Mar 16 '13 at 21:26
122
sudo nginx -s stop && sudo nginx
| improve this answer | |
48

For a one-liner, you could just do:

sudo nginx -s reload

The -s options stands for signal, and is the option you'll use to send stop, quit, reopen and reload signals to nginx.

For more info on the options, just do nginx -h for a list of all of them and their functions.

Cheers!

| improve this answer | |
  • 2
    This did not work for me so I had to actually do sudo nginx to get it to start. I think it had something to do with nginx already being stopped in my case. – jamescampbell May 19 '16 at 17:40
  • 1
    Could you do sudo nginx -s reload || sudo nginx instead? – James Murphy Jul 1 '19 at 13:38
15

for brew installation: sudo brew services restart nginx

| improve this answer | |
  • 1
    This command dosn't work for me at all. I install nginx via brew... – kris_IV Dec 22 '18 at 18:37
  • 1
    @kris_IV what is the output? – dimaninc Dec 23 '18 at 8:29
  • 1
    after start: brew services restart nginx i get response: Stopping nginx... (might take a while) ==> Successfully stopped nginx` (label: homebrew.mxcl.nginx)` ==> Successfully started nginx` (label: homebrew.mxcl.nginx)` – kris_IV Dec 25 '18 at 11:32
  • 1
    @kris_IV and why do you think this command not working then? everything is fine according to your output – dimaninc Dec 25 '18 at 20:47
  • 1
    I know that the output is OK, but new config doesn't work at all, but when I use sudo nginx -s stop && sudo nginx instead everything is OK and new config work. – kris_IV Dec 26 '18 at 11:11
11
sudo pkill nginx   
sudo nginx

If the pkill can't be found, then install it using brew install proctools first.

| improve this answer | |
  • 3
    The above answers are much cleaner than this and enable nginx to stop gracefully. – Mike N Sep 15 '16 at 7:56
  • 1
    This came in handy when nginx started misbehaving and I couldn't kill it with sudo nginx -s quit or sudo -s reload – paperclip Oct 18 '16 at 11:34
  • 1
    This is the only thing that worked for me. Thank you. – A-Dubb Apr 19 '18 at 22:04
5

If you are using brew:

To see all services:

brew services list

Start nginx service:

brew services start nginx

Stop nginx Service:

brew services stop nginx
| improve this answer | |
1

sudo nginx -s quit && sudo nginx

Checkout nginx guide

| improve this answer | |
  • 1
    This does the job, but are you sure a proper shell script does not exist? This method is very raw. – asdmin Sep 2 '16 at 15:11
  • 1
    At least, this is the official documentation. For sure, I will follow the hereby solution also. Thank you. – Francisco Maria Calisto Feb 6 '19 at 9:55
1

Using MAMP and Nginx? Then you have an installed script:

sudo /Applications/MAMP/bin/restartNginx.sh 
| improve this answer | |
1

Just another note, if you want to start nginx with launchctl, when your Mac boots up, you can do as follows:

sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

In short, you need to put your plist file in /Library/LaunchDaemons, not in ~/Library/LaunchAgents like the Homebrew instructions. Finally, use the -w option with launchctl. For further information, follow this guide.

| improve this answer | |
1

If you installed nginx with brew and you started it as a service brew services start nginx then you can issue: brew services restart nginx

| improve this answer | |

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.