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

互联网 20-7-30

这个我自己在用,没问题,有三个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不走网卡,其实网络这段可以去掉.

相关学习推荐:PHP编程从入门到精通

以上就是学习php-fpm服务启动脚本的方法的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 脚本
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:了解php-fpm中max_children的配置

相关资讯