疯狂编程网

  • 首页
  • 后端
    • GOLANG
    • PHP
  • 前端
  • 客户端
  • 服务器
  • AIGC
  • 开发工具
  • 代码人生
  • 关于本站
    • 联系我们
    • 免责声明
  1. 首页
  2. 后端
  3. PHP
  4. 正文

php-fpm平滑重启及退出

2023年4月20日 871点热度 0人点赞 0条评论

最近有个老项目的php通过curl调华为的https接口报SSL connect error,因为华为要求最低tsl版本为1.2,老的系统是centos6.6,升级nss内核不起作用,于是决定将系统升级到centos7,同时php升级到5.6(老项目不敢升级到7/8,怕有问题),一般情况下centos7和php5.6基本上也是绝配了。于是找运维申请了两台新主机,同时让运维安装了php5.6及对应的扩展,拿到机器后发现没有装php-fpm,于是自己通过yum install php56-php-fpm安装的php-fpm,安装完以后,发现通过systemctl或者service起不了,咋也找不到php-fpm,后来通过查看php的安装路径找到了php-fpm的安装路径,可是没有service可用,于是就用php-fpm的命令来实现重启了。

//查找php的安装目录
[root@10-10-50-97 ~]# which php
/bin/php
[root@10-10-50-97 ~]# ls -al /bin/php*
lrwxrwxrwx 1 root root 10 Apr 20 11:47 /bin/php -> /bin/php56
lrwxrwxrwx 1 root root 32 Apr 20 11:47 /bin/php56 -> /opt/remi/php56/root/usr/bin/php
lrwxrwxrwx 1 root root 36 Apr 20 11:47 /bin/php56-cgi -> /opt/remi/php56/root/usr/bin/php-cgi
lrwxrwxrwx 1 root root 33 Apr 20 11:47 /bin/php56-pear -> /opt/remi/php56/root/usr/bin/pear
lrwxrwxrwx 1 root root 38 Apr 20 11:47 /bin/php56-phar -> /opt/remi/php56/root/usr/bin/phar.phar

//php-fpm的安装路径是bin同级的sbin目录下,即/opt/remi/php56/root/usr/sbin/php-fpm

 

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

  • INT, TERM 立刻终止
  • QUIT 平滑终止
  • USR1 重新打开日志文件
  • USR2 平滑重载所有worker进程并重新载入配置和二进制模块

php-fpm的启动一种是生成pid文件,一种是不生成pid文件,生成pid文件的话需要将/opt/remi/php56/root/etc/php-fpm.conf中的pid注视去掉

[global]
; Pid file
; Default Value: none
pid = /opt/remi/php56/root/var/run/php-fpm/php-fpm.pid

1 不生成pid重启

[root@10-10-50-97 ~]# ps aux | grep php-fpm | grep master | grep -v grep
root 30492 0.0 0.1 385068 13996 ? Ss 21:14 0:00 php-fpm: master process (/opt/remi/php56/root/etc/php-fpm.conf)
[root@10-10-50-97 ~]# kill -USR2 30492
[root@10-10-50-97 ~]# ps aux | grep php-fpm | grep master | grep -v grep
root 31232 0.0 0.1 385068 13716 ? Ss 21:53 0:00 php-fpm: master process (/opt/remi/php56/root/etc/php-fpm.conf)

2 生成pid的重启

[root@10-10-50-97 ~]# ps aux | grep php-fpm | grep master | grep -v grep
root 31289 0.0 0.1 385068 13908 ? Ss 21:57 0:00 php-fpm: master process (/opt/remi/php56/root/etc/php-fpm.conf)
[root@10-10-50-97 ~]# kill -USR2 `cat /opt/remi/php56/root/var/run/php-fpm/php-fpm.pid`
[root@10-10-50-97 ~]# ps aux | grep php-fpm | grep master | grep -v grep
root 31303 0.0 0.1 385068 14052 ? Ss 21:57 0:00 php-fpm: master process (/opt/remi/php56/root/etc/php-fpm.conf)

3 退出

//master可识别信号
kill -INT `cat /opt/remi/php56/root/var/run/php-fpm/php-fpm.pid`

//直接杀死php-fpm进程
killall php-fpm

 

 

 

 

标签: php-fpm
最后更新:2023年4月20日

大明

靠写代码养家的开发者。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 疯狂编程网. ALL RIGHTS RESERVED.

京ICP备2022013580号-1