For me, I run "killall nginx" and start it by "sbin/nginx", anyone has a better restart script?
BTW: I install nginx from source, i do not find 'service nginx' command or /etc/init.d/nginx
Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.Sign up to join this community
The nginx package supplies a /etc/init.d/nginx script that provides the usual start|stop|restart|reload ... functionality.
will restart nginx
service nginx restart
Here is a link to a script you can use as /etc/init.d/nginx.
inside the links there are some command for start and stop nginx server
for starting nginx:
for stoping nginx:
/usr/bin/nginx -s stop
/usr/bin depends on where you install your nginx
After editing the configuration files, I restart it like this on OpenBSD:
kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && \ tail -2 /var/www/logs/error.log ; date
HUP signal makes it re-read its configuration files, the
tail shows whether any errors have been encountered, the
date puts those errors into the context (an error has occurred only if the time from
date matches the time from the log), and
sleep 1 ensures that there are no race conditions between reading from the log prior to nginx having had a time to write to it.
This is how it looks:
Cns# kill -HUP `cat /var/run/nginx.pid` && date && sleep 1 && tail -2 /var/www/logs/error.log ; date Tue Feb 12 10:58:52 PST 2013 2013/02/12 10:03:35 [emerg] 8120#0: directive "set" is not terminated by ";" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:226 2013/02/12 10:04:19 [emerg] 8120#0: invalid return code "$uri_def" in /etc/nginx/conf.d/etc.ngx.grok/bxr.su.conf:231 Tue Feb 12 10:58:53 PST 2013 Cns#
The fact that the time from the log is not between times printed by
date indicates that no errors have been encountered this time around, and the new configuration is a good one.
You can find init scripts in the NginX Wiki: http://wiki.nginx.org/Configuration#Init_Scripts
The restart function runs the following command:
BASEDIR= $BASEDIR/sbin/nginx -s stop $BASEDIR/sbin/nginx $BASEDIR/conf/nginx.conf
If you've nginx installed in /opt/nginx, replace
Usually, packages installed from source don't install startup script at
/etc/init.d/. You have two options.
1- You can look for a script in the source code directory or on the website, and customise it if needed.
2- You can copy a startup script for another package from your system and customise it.