如何实现php-fpm服务启动脚本

这篇文章给大家分享的是有关如何实现php-fpm服务启动脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

先创建自启动文件:/etc/init.d/php-fpm

如何实现php-fpm服务启动脚本

内容如下:

#!/bin/sh
###BEGININITINFO
#Provides:php-fpm
#Required-Start:$remote_fs$network
#Required-Stop:$remote_fs$network
#Default-Start:2345
#Default-Stop:016
#Short-Description:startsphp-fpm
#Description:startsthePHPFastCGIProcessManagerdaemon
###ENDINITINFO
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
whiletest$try-lt35;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`
sleep1
done
}
case"$1"in
start)
echo-n"Startingphp-fpm"
$php_fpm_BIN--daemonize$php_opts
if["$?"!=0];then
echo"failed"
exit1
fi
wait_for_pidcreated$php_fpm_PID
if[-n"$try"];then
echo"failed"
exit1
else
echo"done"
fi
;;
stop)
echo-n"Gracefullyshuttingdownphp-fpm"
if[!-r$php_fpm_PID];then
echo"warning,nopidfilefound-php-fpmisnotrunning?"
exit1
fi
kill-QUIT`cat$php_fpm_PID`
wait_for_pidremoved$php_fpm_PID
if[-n"$try"];then
echo"failed.Useforce-quit"
exit1
else
echo"done"
fi
;;
status)
if[!-r$php_fpm_PID];then
echo"php-fpmisstopped"
exit0
fi
PID=`cat$php_fpm_PID`
ifps-p$PID|grep-q$PID;then
echo"php-fpm(pid$PID)isrunning..."
else
echo"php-fpmdeadbutpidfileexists"
fi
;;
force-quit)
echo-n"Terminatingphp-fpm"
if[!-r$php_fpm_PID];then
echo"warning,nopidfilefound-php-fpmisnotrunning?"
exit1
fi
kill-TERM`cat$php_fpm_PID`
wait_for_pidremoved$php_fpm_PID
if[-n"$try"];then
echo"failed"
exit1
else
echo"done"
fi
;;
restart)
$0stop
$0start
;;
reload)
echo-n"Reloadservicephp-fpm"
if[!-r$php_fpm_PID];then
echo"warning,nopidfilefound-php-fpmisnotrunning?"
exit1
fi
kill-USR2`cat$php_fpm_PID`
echo"done"
;;
*)
echo"Usage:$0{start|stop|force-quit|restart|reload|status}"
exit1
;;
esac

配置php-fpm服务

#设置权限
chmod755/etc/init.d/php-fpm
#php-fpm加入服务
chkconfig--addphp-fpm
#php-fpm234级别下设置为启动
chkconfigphp-fpmon
#查看php-fpm服务当前配置
chkconfig--listphp-fpm
php-fpm0:off1:off2:on3:on4:on5:on6:off

php-fpm使用方法

#启动
servicephp-fpmstart
#关闭
servicephp-fpmstop
#重启
servicephp-fpmrestart
#重载
servicephp-fpmreload
#检查配置文件
servicephp-fpmconfigtest

脚本说明

#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network

以上量行代码有人会疑问他们到底是做什么的,'.'是source类似于程序中的include和require,将functions里面的方法全部倒入到这边,这边程序便可以使用,例如这边用到的daemon、status。第二行的network实际上就几行,如下

NETWORKING=yes
HOSTNAME=E10162

将他们作为变量赋值,判断网卡是否启动,如果你的nginx不走网卡,其实网络这段可以去掉.

/etc/init.d/php-fpm

感谢各位的阅读!关于“如何实现php-fpm服务启动脚本”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

发布于 2021-07-24 22:37:43
收藏
分享
海报
0 条评论
168
上一篇:JAVA中怎么调用wsdl过程 下一篇:javaweb项目中怎么手机短信登录
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码