Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've installed and configured nginx server on my Mac from MacPorts

  1. sudo port install nginx
  2. Followed the recommendation from the port installation console and created the launchd startup item for nginx, then started the server.
  3. Renamed nginx.conf.example to nginx.conf and renamed mime.types.example to mime.types.

It works fine, but I couldn't stop it.

I tried sudo nginx -s stop, but this doesn't stop the server, I can still see "Welcome to nginx!" page in my browser on http://localhost/; also I still see master and worker processes of nginx with ps -e | grep nginx.

What is the best way to start/stop nginx on Mac?

BTW, I've added "daemon off;" into nginx.conf - as recommended by various resources.

share|improve this question
up vote 27 down vote accepted
# nginx -h
-s signal     : send signal to a master process: stop, quit, reopen, reload
share|improve this answer
When I installed nginx with MacPorts, the above command didn't work - I wasn't giving me an error, but the server kept running. But when I wiped nginx clean and reinstalled it as part of passenger nginx module installation, it works now: I can do "nginx -s stop" and it really stops the server. Thank you! – Alex Kaushovik May 18 '10 at 14:28
using nginx -s stop worked for me but then i wasn't able to restart my server using either nginx -s reopen, nginx -s reload, nginx -s start or nginx -s restart ? How to restart? Nevermind, just executing the program $ sudo /usr/local/sbin/nginx restarts it. – tim peterson Sep 12 '12 at 0:37
@timpeterson restart or reload works on ... working server, if you are stoping it you just need to start it with common 'no-signal' nginx command. – biesior Nov 23 '12 at 11:07

The correct way to do this for Nginx installed via MacPorts:

  • Start: sudo port load nginx
  • Stop: sudo port unload nginx

OS X uses launchd so the process of starting/stopping daemons is slightly different.

share|improve this answer

Look at the PID of master process and do

kill -QUIT <master_pid>
share|improve this answer
How to lookup thePID? – user1767754 Jul 14 '15 at 5:26

You may try the following:

ps -lef|grep -i nginx:|awk '{ print $2}'|xargs kill -9
share|improve this answer

This command stops also stops nginx.

sudo nginx -s stop 
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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