php-fpm服务启动命令,shell脚本实现php-fpm启动|关闭|重启

说明:

从php5.3.*开始,源码中开始包含 php-fpm,不用专门再打补丁了,只需要解开源码直接configure。php-fpm 不再支持php 5.2 php-fpm 补丁具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,因此需要使用信号控制php-fpm的启动,关闭等。

php-fpm master进程可以理解以下信号

SIGINT, SIGTERM 立刻终止

SIGQUIT 平滑终止

SIGUSR1 重新打开日志文件

SIGUSR2 平滑重载所有worker进程并重新载入配置和二进制模块

实现:

编写php-fpm,添加如下内容

vim /etc/init.d/php-fpm

#!/bin/sh

function_start_php_fpm()

{

printf "Starting php-fpm...n"

/usr/local/webserver/php/sbin/php-fpm

}

function_stop_php_fpm()

{

printf "Stoping php-fpm...n"

# kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`

/bin/kill -SIGQUIT `cat /usr/local/webserver/php/var/run/php-fpm.pid`

}

function_reload_php_fpm()

{

printf "Reloading php-fpm...n"

/bin/kill -SIGUSR2 `cat /usr/local/webserver/php/var/run/php-fpm.pid`

}

function_restart_php_fpm()

{

printf "Restarting php-fpm...n"

function_stop_php_fpm

sleep 5

function_start_php_fpm

}

if [ "$1" = "start" ]; then

function_start_php_fpm

elif [ "$1" = "stop" ]; then

function_stop_php_fpm

elif [ "$1" = "reload" ]; then

function_reload_php_fpm

elif [ "$1" = "restart" ]; then

function_restart_php_fpm

else

printf "Usage: /usr/local/sbin/php-fpm {start|stop|reload|restart}n"

fi

这样就可以通过/etc/init.d/php-fpm start|stop|reload|restart 实现php-fpm关闭,重启了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值