5 kx #!/bin/sh
5 kx #
5 kx # Nginx daemon control script:
5 kx #
5 kx
5 kx BIN=/usr/sbin/nginx
5 kx CONF=/etc/nginx/nginx.conf
5 kx PID=/var/run/nginx.pid
5 kx
5 kx nginx_start() {
5 kx # Sanity checks.
5 kx if [ ! -r $CONF ]; then # no config file, exit:
5 kx echo "$CONF does not appear to exist. Abort."
5 kx exit 1
5 kx fi
5 kx
5 kx if [ -s $PID ]; then
5 kx echo "Nginx appears to already be running?"
5 kx exit 1
5 kx fi
5 kx
5 kx echo "Starting Nginx server daemon..."
5 kx if [ -x $BIN ]; then
5 kx $BIN -c $CONF
5 kx fi
5 kx }
5 kx
5 kx nginx_test_conf() {
5 kx echo "Checking configuration for correct syntax and"
5 kx echo "then trying to open files referenced in configuration..."
5 kx $BIN -t -c $CONF
5 kx }
5 kx
5 kx nginx_term() {
5 kx echo "Shutdown Nginx quickly..."
5 kx kill -TERM $(cat $PID)
5 kx }
5 kx
5 kx nginx_stop() {
5 kx echo "Shutdown Nginx gracefully..."
5 kx kill -QUIT $(cat $PID)
5 kx }
5 kx
5 kx nginx_reload() {
5 kx echo "Reloading Nginx configuration..."
5 kx kill -HUP $(cat $PID)
5 kx }
5 kx
5 kx nginx_upgrade() {
5 kx echo "Upgrading to the new Nginx binary."
5 kx echo "Make sure the Nginx binary has been replaced with new one"
5 kx echo "or Nginx server modules were added/removed."
5 kx kill -USR2 $(cat $PID)
5 kx sleep 3
5 kx kill -QUIT $(cat $PID.oldbin)
5 kx }
5 kx
5 kx nginx_rotate() {
5 kx echo "Rotating Nginx logs..."
5 kx kill -USR1 $(cat $PID)
5 kx }
5 kx
5 kx nginx_restart() {
5 kx nginx_stop
5 kx sleep 3
5 kx nginx_start
5 kx }
5 kx
5 kx case "$1" in
5 kx check)
5 kx nginx_test_conf
5 kx ;;
5 kx start)
5 kx nginx_start
5 kx ;;
5 kx term)
5 kx nginx_term
5 kx ;;
5 kx stop)
5 kx nginx_stop
5 kx ;;
5 kx reload)
5 kx nginx_reload
5 kx ;;
5 kx restart)
5 kx nginx_restart
5 kx ;;
5 kx upgrade)
5 kx nginx_upgrade
5 kx ;;
5 kx rotate)
5 kx nginx_rotate
5 kx ;;
5 kx *)
5 kx echo "usage: `basename $0` {check|start|term|stop|reload|restart|upgrade|rotate}"
5 kx esac