开机启动程序对于一些服务程序特别需要,因为有时候需要重启,但是每次重启后需要重新启动一些程序会比较麻烦,服务受影响的时间更长了。对于搭建Web服务,可以参考搭建Web网站服务教程

在编译安装php—fpm后,默认是不会开启自动启动的,需要进行一些配置才能开机启动。

执行vim /etc/init.d/php-fpm新建下面的内容:

#!/bin/sh
#
# php-fpm - this script starts and stops the php-fpm daemin
#
# chkconfig: - 85 15
# processname: php-fpm
# config:      /usr/local/php/etc/php-fpm.conf

set -e

#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="php-fpm daemon"
NAME=php-fpm
DAEMON=/usr/local/php/sbin/$NAME     #这里设成自己的目录
CONFIGFILE=/usr/local/php/etc/php-fpm.conf   #这里设成自己的目录
PIDFILE=/var/run/$NAME.pid   #这里设成自己的目录
SCRIPTNAME=/etc/init.d/$NAME   #这里设成自己的目录

# If the daemon file is not found, terminate the script.
test -x $DAEMON || exit 0

d_start(){
   $DAEMON -y $CONFIGFILE || echo -n " already running"
}

d_stop(){
   kill -QUIT `cat $PIDFILE` || echo -n " no running"
}

d_reload(){
   kill -USR2 `cat $PIDFILE` || echo -n " could not reload"
}

case "$1" in
   start)
       echo -n "Starting $DESC: $NAME"
       d_start
       echo "."
       ;;
   stop)
       echo -n "Stopping $DESC: $NAME"
       d_stop
       echo "."
       ;;
   reload)
       echo -n "Reloading $DESC configuration..."
       d_reload
       echo "Reloaded."
       ;;
   restart)
       echo -n "Restarting $DESC: $NAME"
       d_stop
       # Sleep for two seconds before starting again,
       # this should give the nginx daemon some time to perform a graceful stop
       sleep 2
       d_start
       echo "."
       ;;
   *)
       echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload)" >&2
       exit 3
       ;;
esac
exit 0

添加可执行权限

chmod +x /etc/init.d/php-fpm

添加到开机自动启动

chkconfig --add php-fpm
chkconfig php-fpm on

这样后,php-fpm就会开机自动启动了,而且可以使用以下命令进行重启

service php-fpm start
service php-fpm stop
service php-fpm reload

另外一种平滑重启php-fpm可以使用kill -USR2 php-fpm.pid来进行,通过service命令就快很多啦。

参考文章:http://www.cnblogs.com/buffer/archive/2011/08/15/2138762.html