When I try to restart nginx with sudo /etc/init.d/nginx restart I get the message from the subject.
I discovered that the reason is most likely that the script doesn't know how to stop the deamon because the pid file (/var/run/nginx.pid) is not created on start.
I have two installations on two different servers... one was compiled from source and the other came with phusion passenger.
I tried this command:
start-stop-daemon --start --quiet --pidfile /var/run/nginx.pid --exec /usr/sbin/nginx -- -c /etc/nginx/nginx.conf
on both machines and on one the pid file is created and on the other it is not - on that machine the paths are a bit different (but I don't think this is relevant):
start-stop-daemon --start --quiet --pidfile /var/run/nginx.pid --exec /opt/nginx/sbin/nginx -- -c /opt/nginx/conf/nginx.conf
The process starts and pid is not written...
I'm on Debian...
Any suggestions?
The solution is to uncomment this line in nginx.conf:
pid /var/run/nginx.pid;
It looks like different installations do it differently but the right thing is to uncomment it.
I was able to fix this by running the following fuser command
$ sudo fuser -k 80/tcp
which kills whatever process is using port 80..hopefully didn't screw anything else.
Credit for this goes to: https://goo.gl/6oc0xD
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With