重启php软重启_php-fpm 的重启方法(php7.3)

php-fpm 为什么不能用 service 重启?

对于 centos 下使用 yum,或者 ubuntu 下使用 apt-get 等软件包管理工具安装的 php 来说,php-fpm 可以以服务的形式运行,直接用 service php-fpm start|stop|reload 指令即可操作控制。

对于源码包编译安装的,php 5.3.3 以后的 php-fpm 不再支持 php-fpm 以前具有的 /your/phpsrcdir/sbin/php-fpm(start|stop|reload) 等命令,此时需要使用信号控制。

php 5.3.3 后的 php-fpm 版本为什么不支持 service 指令?

php-fpm 一开始是作为 php 的扩展独立存在的,通过 yum 等工具安装,以服务形式运行。在 php 5.3.3 之后,php-fpm 直接被嵌入到 php 中,作为 php 源码的一部分。编译安装不会直接将 php-fpm 注册成服务,可以通过 php-fpm 启动进程。

重启 php-fpm 进程

跟 Apache 和 Nginx 一样,在 Linux 环境中 php-fpm 也是采用多进程方式运行,主进程叫 master process,子进程叫 worker process。要重启 php-fpm 可以从主进程入手。

master 进程可以理解以下信号INT, TERM 立刻终止

QUIT 平滑终止

USR1 重新打开日志文件

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

一个简单直接的重启方法:先查看 php-fpm 的 master 进程号:# ps aux|grep php-fpm

root 21891 0.0 0.0 112660 960 pts/3 R+ 16:18 0:00 grep --color=auto php-fpm

root 42891 0.0 0.1 182796 1220 ? Ss 4月18 0:19 php-fpm: master process (/Data/apps/php7/etc/php-fpm.conf)

nobody 42892 0.0 0.6 183000 6516 ? S 4月18 0:07 php-fpm: pool www

nobody 42893 0.0 0.6 183000 6508 ? S 4月18 0:17 php-fpm: pool www

[notice]上面 worker 进程的执行者为 nobody,是由 php-fpm 配置文件决定的,配置项一般在同级目录下 php-fpm.d\www.conf 文件中。[/notice]重启php-fpm:kill -USR2 42891

其他方法:

当然也可以用老办法 kill -9 进程号 分别关闭 master 和其他子进程,或者粗暴一点 pkill php-fpm 关闭所有 php-fpm 相关的进程,然后 /your/phpsrcdir/sbin/php-fpm 启动。

如果不知道 php-fpm 安装目录,可以使用 find / -name php-fpm 查找。若安装目录已添加到 path 中,可以直接 php-fpm 启动。

执行启动指令后,可以用 ps -ef | grep php-fpm 指令查看所属进程是否正常。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值