把 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 {1}quot;Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?