这个我自己在用,没问题,有三个path需要自己酌情修改。
先创建自启动文件:/etc/init.d/php-fpm
内容如下:
#! /bin/sh
### begin init info
# provides: php-fpm
# required-start: $remote_fs $network
# required-stop: $remote_fs $network
# default-start: 2 3 4 5
# default-stop: 0 1 6
# short-description: starts php-fpm
# description: starts the php fastcgi process manager daemon
### end init info
prefix=/usr/local/php
exec_prefix=${prefix}
php_fpm_bin=${exec_prefix}/sbin/php-fpm
php_fpm_conf=${prefix}/etc/php-fpm.conf
php_fpm_pid=${prefix}/var/run/php-fpm.pid
php_opts="--fpm-config $php_fpm_conf --pid $php_fpm_pid"
wait_for_pid () {
try=0
while test $try -lt 35 ; do
case "$1" in
'created')
if [ -f "$2" ] ; then
try=''
break
fi
;;
'removed')
if [ ! -f "$2" ] ; then
try=''
break
fi
;;
esac
echo -n .
try=`expr $try + 1`
sleep 1
done
}
case "$1" in
start)
echo -n "starting php-fpm "
$php_fpm_bin --daemonize $php_opts
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
fi
wait_for_pid created $php_fpm_pid
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
stop)
echo -n "gracefully shutting down php-fpm "
if [ ! -r $php_fpm_pid ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -quit `cat $php_fpm_pid`
wait_for_pid removed $php_fpm_pid
if [ -n "$try" ] ; then
echo " failed. use force-quit"
exit 1
else
echo " done"
fi
;;
status)
if [ ! -r $php_fpm_pid ] ; then
echo "php-fpm is stopped"
exit 0
fi
pid=`cat $php_fpm_pid`
if ps -p $pid | grep -q $pid; then
echo "php-fpm (pid $pid) is running..."
else
echo "php-fpm dead but pid file exists"
fi
;;
force-quit)
echo -n "terminating php-fpm "
if [ ! -r $php_fpm_pid ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -term `cat $php_fpm_pid`
wait_for_pid removed $php_fpm_pid
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
restart)
$0 stop
$0 start
;;
reload)
echo -n "reload service php-fpm "
if [ ! -r $php_fpm_pid ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -usr2 `cat $php_fpm_pid`
echo " done"
;;
*)
echo "usage: $0 {start|stop|force-quit|restart|reload|status}"
exit 1
;;
esac
配置php-fpm服务
# 设置权限
chmod 755 /etc/init.d/php-fpm
# php-fpm加入服务
chkconfig --add php-fpm
# php-fpm 234级别下设置为启动
chkconfig php-fpm on
# 查看php-fpm服务当前配置
chkconfig --list php-fpm
php-fpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
php-fpm使用方法
# 启动
service php-fpm start
# 关闭
service php-fpm stop
# 重启
service php-fpm restart
# 重载
service php-fpm reload
#检查配置文件
service php-fpm configtest
脚本说明
# source function library.
. /etc/rc.d/init.d/functions
# source networking configuration.
. /etc/sysconfig/network
以上量行代码有人会疑问他们到底是做什么的,'.'是source类似于程序中的include和require,将functions里面的方法全部倒入到这边,这边程序便可以使用,例如这边用到的daemon、status。第二行的network实际上就几行,如下
networking=yes
hostname=e10162
将他们作为变量赋值,判断网卡是否启动,如果你的nginx不走网卡,其实网络这段可以去掉.
/etc/init.d/php-fpm
总结
以上所述是小编给大家介绍的php-fpm服务启动脚本的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
申明:本教程内容由威凡网编辑整理并提供IT程序员分享学习,如文中有侵权行为,请与站长联系(QQ:254677821)!