#!/bin/bash # Nginx service controll # chkconfig: - 85 15 # description: A faster www server . /etc/rc.d/init.d/functions prog="Nginx" prog_name="nginx" pid_file="/usr/local/nginx/nginx.pid" bin_file="/usr/local/nginx/sbin/$prog_name" user="httpd" group="httpd" conf_file="/usr/local/nginx/conf/nginx.conf" test_config(){ # Test configuration $bin_file -t -c $conf_file } start(){ if [ -f "$pid_file" ]; then action $"Startting $prog: " /bin/false echo "$prog is running ..." exit 1 else $bin_file -c $conf_file>/dev/null if [ -f "$pid_file" ]; then action $"Startting $prog: " /bin/true else action $"Startting $prog: " /bin/false echo "Some unexcepted errors occupied ..." fi fi } stop(){ if [ -f "$pid_file" ]; then pid=`cat "$pid_file"` if kill -0 $pid 2>/dev/null; then kill $pid rm -rf $pid_file action $"Stopping $prog: " /bin/true else action $"Stopping $prog: " /bin/false echo "$prog is not running, but PID file exists" exit 1 fi else action $"Stoppng $prog: " /bin/false echo "$prog is not running ..." exit 1 fi } force_stop(){ killall $prog_name>/dev/null rm -rf $pid_file sleep 2 action $"Force stopping $prog: " /bin/true } restart(){ stop start } force_reload(){ force_stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; force_reload) force_reload ;; force_stop) force_stop ;; test) test_config ;; *) echo $"Usage $prog: {start|stop|restart|test|force_stop|force_reload}" exit 1 ;; esac exit 0