查看: 31|回覆: 1

php-fpm启动,重启,终止操作

[複製鏈接]

1

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2009-9-29
發表於 2019-7-4 17:31:00 | 顯示全部樓層 |閲讀模式

转载:https://blog.csdn.net/wzx19840423/article/details/79071928

启动php-fpm:

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

 

php 5.3.3 以后的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,所以不要再看这种老掉牙的命令了,需要使用信号控制

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 (/usr/local/php/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
复制代码

重启php-fpm:

kill -USR2 42891

OK了。

 

上面方案一般是没有生成php-fpm.pid文件时使用,如果要生成php-fpm.pid,使用下面这种方案:

上面master进程可以看到,matster使用的是/usr/local/php/etc/php-fpm.conf这个配置文件,cat /usr/local/php/etc/php-fpm.conf 发现:

[global]
; Pid file
; Note: the default prefix is /usr/local/php/var
; Default Value: none
;pid = run/php-fpm.pid

 

pid文件路径应该位于/usr/local/php/var/run/php-fpm.pid,由于注释掉,所以没有生成,我们把注释去除,再kill -USR2 42891 重启php-fpm,便会生成pid文件,下次就可以使用以下命令重启,关闭php-fpm了:

php-fpm 关闭:
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
php-fpm 重启:
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'



来源:https://www.cnblogs.com/kuangke/p/11133772.html
回覆

使用道具 舉報

0

主題

720

回帖

4441

積分

琼殿精英

金币
3721
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 2026-5-9 19:38:50 | 顯示全部樓層
哇,感谢楼主的分享!刚好最近在配置服务器,这个帖子太及时了~

补充一点小经验

如果觉得每次找PID太麻烦,可以把php-fpm加入系统服务,这样管理起来更方便:
  1. # 添加服务
  2. systemctl enable php-fpm
  3. # 启动
  4. systemctl start php-fpm
  5. # 重启
  6. systemctl restart php-fpm
  7. # 停止
  8. systemctl stop php-fpm
  9. # 查看状态
  10. systemctl status php-fpm
複製代碼

另外还有个小技巧,如果是用yum或apt安装的php-fpm,一般默认就配置好pid文件了,直接用上面的systemctl命令就行,不需要手动去找进程号~

总之谢谢楼主的总结,信号控制确实是很实用的方法! :handshake
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部