环境
- CentOS 6
- php 5.4
- nginx 1.2
重启 php-fpm 命令
php 5.3.3 以后的php-fpm 不再支持 php-fpm (start|stop|reload) 等命令,需要使用信号控制。
kill master 进程,有如下参数:
- INT, TERM 立刻终止
- QUIT 平滑终止
- USR1 重新打开日志文件
- USR2 平滑重载所有 worker 进程并重新载入配置和二进制模块
通过 ps aux|grep php-fpm 查看配置文件和 master 进程号
1 | [root@localhost ~]# ps aux|grep php-fpm |
从上面可以看到,matster 进程 ID 是 2832,同时能看到,使用的配置文件是/home/etc/php-5.4.45/php-fpm.conf
打开 php-fpm.conf,看以下配置1
2
3
4
5[global]
; Pid file
; Note: the default prefix is /opt/soft/php-5.4.45/var
; Default Value: none
pid = /opt/soft/php-5.4.45/php-fpm.pid
php-fpm 重启、关闭
注意,如果配置如上,则可以通过 php-fpm.pid 直接查看到进程ID1
2
3[root@localhost ~]# cat /opt/soft/php-5.4.45/php-fpm.pid
2832
[root@localhost ~]# kill -USR2 2832
pid 那一项如果是注释了的,如下:1
2
3
4
5[global]
; Pid file
; Note: the default prefix is /opt/soft/php-5.4.45/var
; Default Value: none
;pid = /opt/soft/php-5.4.45/php-fpm.pid
这种配置不会生成 php-fpm.pid 文件,那么需要先通过【ps aux|grep php-fpm】命令查找到 php-fpm master 进程号,该命令在上面已经运行过了,查到 php-fpm 的 master 进程号为 2832
重启 php-fpm
1 | kill -USR2 2832 |
关闭 php-fpm
1 | kill -INT 2832 |