How to correctly restart nginx?

Max maxbear at gmail.com
Thu Feb 19 02:57:59 MSK 2009


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

On Thu, Feb 19, 2009 at 12:18 AM, Ian Hobson <ian at ianhobson.co.uk> wrote:

> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20090219/ac5e0e5b/attachment.html>


More information about the nginx mailing list