slackbuilds_ponce/network/nginx/rc.nginx
2010-05-11 22:25:37 +02:00

92 lines
1.6 KiB
Nginx Configuration File

#!/bin/sh
#
# Nginx daemon control script.
#
# This is an init script for the nginx daemon.
# To use nginx, you must first set up the config file(s).
#
# Written for Slackware Linux by Cherife Li <cherife@dotimes.com>.
DAEMON=/usr/sbin/nginx
CONF=/etc/nginx/nginx.conf
PID=/var/run/nginx.pid
nginx_start() {
# Sanity checks.
if [ ! -r $CONF ]; then # no config file, exit:
echo "$CONF does not appear to exist; exiting..."
exit 1
fi
if [ -s $PID ]; then
echo "Nginx appears to already be running..."
exit 1
fi
echo "Starting Nginx server daemon:"
if [ -x $DAEMON ]; then
$DAEMON -c $CONF
fi
}
nginx_test_conf() {
echo "Checking configuration for correct syntax and"
echo "then trying to open files referenced in configuration..."
$DAEMON -t -c $CONF
}
nginx_term() {
echo "Shutdown Nginx quickly..."
kill -TERM $(cat $PID)
}
nginx_stop() {
echo "Shutdown Nginx gracefully..."
kill -QUIT $(cat $PID)
}
nginx_reload() {
echo "Reloading Nginx configuration..."
kill -HUP $(cat $PID)
}
nginx_upgrade() {
echo "Upgrading to the new Nginx binary."
echo "Make sure the Nginx binary has been replaced with new one"
echo "or Nginx server modules were added/removed."
kill -USR2 $(cat $PID)
sleep 3
kill -QUIT $(cat $PID.oldbin)
}
nginx_restart() {
nginx_quit
sleep 5
nginx_start
}
case "$1" in
check)
nginx_test_conf
;;
start)
nginx_start
;;
term)
nginx_term
;;
stop)
nginx_stop
;;
reload)
nginx_reload
;;
restart)
nginx_restart
;;
upgrade)
nginx_upgrade
;;
*)
echo "usage: $0 {check|start|term|stop|reload|restart|upgrade}"
esac