Forum: NGINX How to correctly restart nginx?

E84e93646376def3fbed0907fe9335e1?d=identicon&s=25 Max (Guest)
on 2009-02-18 06:41
(Received via mailing list)
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
7b8fb033ada5a3242ebc30d8cd1c1554?d=identicon&s=25 Joe (Guest)
on 2009-02-18 06:52
(Received via mailing list)
You should not to restart nginx after applying new configuration.

ps aux | egrep '(PID|nginx)'

and kill the PID

kill -HUP PID
1d7e58690643fef4a92750ff39f4c56c?d=identicon&s=25 Kevin Worthington (Guest)
on 2009-02-18 07:01
(Received via mailing list)
Have you tried (as root):
service nginx restart
-or-
service nginx stop && service nginx start

--
Kevin Worthington
Ab1e128805502b007dd29966ca93273c?d=identicon&s=25 Francisco Valladolid (Guest)
on 2009-02-18 07:34
(Received via mailing list)
The old school command.

# kill -HUP `cat /var/run/nginx.pid`

Regards.

On Wed, Feb 18, 2009 at 12:52 AM, Kevin Worthington
E84e93646376def3fbed0907fe9335e1?d=identicon&s=25 Max (Guest)
on 2009-02-18 08:39
(Received via mailing list)
Thanks a lot for your all you guys. I will try to see if I can restart
it
correctly.

Max
F28f13d5607639b47a8ce7cf9b71a3cf?d=identicon&s=25 Nuno Magalhães (Guest)
on 2009-02-18 13:46
(Received via mailing list)
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
5640e332954fc0006aea97a155ce0afd?d=identicon&s=25 Igor Sysoev (Guest)
on 2009-02-18 16:41
(Received via mailing list)
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 ?
F7ec36678a4102de7a6895d299a60819?d=identicon&s=25 Ian Hobson (Guest)
on 2009-02-18 17:27
(Received via mailing list)
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
E84e93646376def3fbed0907fe9335e1?d=identicon&s=25 Max (Guest)
on 2009-02-19 01:08
(Received via mailing list)
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

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.