您好,欢迎访问一九零五行业门户网

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

这个我自己在用,没问题,有三个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 infoprefix=/usr/local/phpexec_prefix=${prefix}php_fpm_bin=${exec_prefix}/sbin/php-fpmphp_fpm_conf=${prefix}/etc/php-fpm.confphp_fpm_pid=${prefix}/var/run/php-fpm.pidphp_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-fpmphp-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=yeshostname=e10162
将他们作为变量赋值,判断网卡是否启动,如果你的nginx不走网卡,其实网络这段可以去掉.
相关学习推荐:php编程从入门到精通
以上就是学习php-fpm服务启动脚本的方法的详细内容。
其它类似信息

推荐信息