php教程

超轻量级php框架startmvc

php-fpm服务启动脚本的方法

更新时间:2020-03-27 17:16:50 作者:startmvc
这个我自己在用,没问题,有三个path需要自己酌情修改。先创建自启动文件:/etc/init.d/php-f

这个我自己在用,没问题,有三个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服务启动脚本的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

php fpm启动脚本 php fpm 启动 php fpm 脚本