把nginx和spawn-fcgi设为随系统自动启动

#!/bin/bash
#
# chkconfig: - 64 36
# description:  This script take care of starting and stopping the nginx + spawn-fcgi server
# processname: nginx + spawn-fcgi

# file name: nginx
# author: yagas
# msn: yagas60@msn.com
# date: 2011/11/25

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network


pidfile="/var/run/nginx.pid"
spawnfile="/usr/local/bin/spawn-fcgi"
nginxfile="/usr/local/bin/nginx"

start(){
        if [ -e $spawnfile ]; then
                $spawnfile -a 127.0.0.1 -p 9000 -C 10 -f /usr/bin/php-cgi > /dev/null 2>&1
  res=$?
  if [ $res == 0 ]; then
         action "Starting spawn-fcgi: " /bin/true
  else
         action "Starting spawn-fcgi: " /bin/false
  fi
        else
                action "Starting spawn-fcgi: " /bin/false
        fi

        if [ -e $nginxfile ]; then
                $nginxfile > /dev/null 2>&1
                res=$?
  if [ $res == 0 ]; then
         action "Starting nginx: " /bin/true
  else
         action "Starting nginx: " /bin/false
  fi
        else
                action "Starting nginx: " /bin/false
        fi
        
        return $res
}


stop(){
        ps -ef|grep php-cgi|awk '{cmd="kill -9 "$2; system(cmd);}'
        spawn-fcgi=(ps -ef|grep php-cgi|wc -l)

        if [ spawn-fcgi == 1 ]; then
  action "Stoping spawn-fcgi: " /bin/true
        else
                action "Stoping spawn-fcgi: " /bin/false
        fi
  
        if [ -e $pidfile ]; then
                kill -9 `cat ${pidfile}` > /dev/null 2>&1
  res=$?
                if [ $res == 0 ]; then
         action "Stoping nginx: " /bin/true
  else
         action "Stoping nginx: " /bin/false
  fi
        else
                killall nginx > /dev/null 2>&1
  res=$?
        fi

        return $res
}


case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac

exit $?