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

2025-06-15 11:00:04 1
  • 收藏
  • 管理
    这个我自己在用,没问题,有三个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=0while test $try -lt 35;docase"$1"increated)if[-f "$2"];thentry=breakfi;;removed)if[!-f "$2"];thentry=breakfi;;esac echo -n .try=`expr $try 1` sleep 1done}case"$1"in start) echo -n "Starting php-fpm " $php_fpm_BIN --daemonize $php_opts if["$?"!=0];then echo " failed"exit1fi wait_for_pid created $php_fpm_PID if[-n "$try"];then echo " failed"exit1else 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 ?"exit1fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if[-n "$try"];then echo " failed. Use force-quit"exit1else echo " done"fi;; status)if[!-r $php_fpm_PID ];then echo "php-fpm is stopped"exit0fi 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 ?"exit1fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if[-n "$try"];then echo " failed"exit1else 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 ?"exit1fi kill -USR2 `cat $php_fpm_PID` echo " done";;*) echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"exit1;;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编程从入门到精通
    上一页:学习phpjQueryAjax实现点赞效果的方法 下一页:学习myql不是内部命令的错误解决方案
    全部评论(0)