Hello, I got some problem to restart nginx. I am running RHEL5 and using 0.6.33 rpm version.I changed some rewrite rules in nginx.conf and want to restart it. When I tried : /etc/init.d/nginx restart It will only stop nginx. Then I type: /etc/init.d/nginx status I still see there are some processes running. So, I kill all those processes and start nginx again. But my site is not working anymore. It just redirect me to a 50x error page. I need to reboot the server to get the sites running again. Could anyone tell me what's the correct way to restart nginx? Thanks a lot. Max
on 2009-02-18 06:41
on 2009-02-18 06:52
You should not to restart nginx after applying new configuration. ps aux | egrep '(PID|nginx)' and kill the PID kill -HUP PID
on 2009-02-18 07:01
Have you tried (as root): service nginx restart -or- service nginx stop && service nginx start -- Kevin Worthington
on 2009-02-18 07:34
The old school command. # kill -HUP `cat /var/run/nginx.pid` Regards. On Wed, Feb 18, 2009 at 12:52 AM, Kevin Worthington
on 2009-02-18 08:39
Thanks a lot for your all you guys. I will try to see if I can restart it correctly. Max
on 2009-02-18 13:46
AFAIK kill -HUP will not kill the process but rather make it read its configuration file )which is what the OP wants anyway). You could also try /etc/init.d/nginx restart Works on Debian, might work on RH. Find the directory for your distro's startup scripts, one of them oughta be nginx, pass "restart" to it. Nuno Magalhães LU#484677
on 2009-02-18 16:41
On Wed, Feb 18, 2009 at 12:36:39PM +0000, Nuno Magalh??es wrote: > AFAIK kill -HUP will not kill the process but rather make it read its > configuration file )which is what the OP wants anyway). > > You could also try /etc/init.d/nginx restart > Works on Debian, might work on RH. Find the directory for your > distro's startup scripts, one of them oughta be nginx, pass "restart" > to it. Have not Linux init scripts a "reload" option to gracefully restart service using -HUP ?
on 2009-02-18 17:27
Igor Sysoev wrote: > Have not Linux init scripts a "reload" option to gracefully restart service > using -HUP ? > > Hi, I use the following under Ubuntu - and restart works fine since I changed the sleep 1 to sleep 2. This is /etc/init.d/nginx - you will need to chmod +x /etc/init.d/nginx before use. #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then . /etc/default/nginx fi set -e case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON sleep 2 start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0 regards Ian
on 2009-02-19 01:08
Hi, I find "reload" can get the job done. But if I wantt o enable #gzip on; , I still need to reboot the server after I changed the conf file (I am not 100% sure about this, but all my stuffs working after I reboot the server, I can't just use "reload" comand to get it works"). At first, I just think the restart process is just like apache, but nginx really does it better. You can archive zero downtime time if you restart it correctly :-). Max
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.