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
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:
for stoping nginx:
/usr/bin
depends on where you install your nginxFor some reason, on the embedded system I am working on it is:
After editing the configuration files, I restart it like this on OpenBSD:
The
HUP
signal makes it re-read its configuration files, thetail
shows whether any errors have been encountered, thedate
puts those errors into the context (an error has occurred only if the time fromdate
matches the time from the log), andsleep 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:
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:
If you've nginx installed in /opt/nginx, replace
BASEDIR=
byBASEDIR=/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.
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 likesystemctl restart nginx
orservcie nginx restart