How to correctly restart nginx?

Ian Hobson ian at ianhobson.co.uk
Wed Feb 18 19:18:23 MSK 2009


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





More information about the nginx mailing list