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
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
The nginx package supplies a /etc/init.d/nginx script that provides the usual start|stop|restart|reload ... functionality.
/etc/init.d/nginx restart
will restart nginx
as will
service nginx restart
Edit
Here is a link to a script you can use as /etc/init.d/nginx.
http://wiki.nginx.org/CommandLine
inside the links there are some command for start and stop nginx server
for starting nginx:
/usr/bin/nginx
for stoping nginx:
/usr/bin/nginx -s stop
/usr/bin
depends on where you install your nginx
For some reason, on the embedded system I am working on it is:
systemctl restart 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
The 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.
Firstly you need to check which path consists of your Nginx binary files. for that, you can run which nginx
which will give output like /usr/bin/nginx then you can simply restart you nginx server like systemctl restart nginx
or servcie nginx restart
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 BASEDIR=
by BASEDIR=/opt/nginx
.
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.