#!/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 . # 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 "Please check the nginx config file, exiting..." exit 1 fi if [ -f $PID ]; then echo "Nging is already running?" exit 1 fi echo "Starting Nginx server daemon:" if [ -x $DAEMON ]; then $DAEMON -c $CONF fi } nginx_test_conf() { echo -e "Checking configuration for correct syntax and\nthen trying to open files referenced in configuration..." $DAEMON -t -c $CONF } nginx_term() { echo "Shutdown Nginx quickly..." kill -TERM $(cat $PID) } nginx_quit() { echo "Shutdown Nginx gracefully..." kill -QUIT $(cat $PID) } nginx_reload() { echo "Reloading Nginx configuration..." kill -HUP $(cat $PID) } nginx_upgrade() { echo -e "Upgrading to the new Nginx binary.\nMake sure the Nginx binary has been replaced with new one\nor 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 'start') nginx_start ;; 'term') nginx_term ;; 'quit') nginx_quit ;; 'stop') nginx_quit ;; 'reload') nginx_reload ;; 'restart') nginx_restart ;; 'upgrade') nginx_upgrade ;; *) echo "usage $0 start|term|quit(stop)|reload|restart|upgrade" esac