转自:https://www.cnblogs.com/feng18/p/6225781.html
- 启动php-fpm
/usr/local/php/sbin/php-fpm
php5.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 26697 0.0 0.4 53548 4972 ? Ss Jan24 0:02 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www 26698 0.0 2.9 73680 30404 ? S Jan24 0:20 php-fpm: pool www
www 26699 0.0 2.8 72472 29360 ? S Jan24 0:21 php-fpm: pool www
www 26775 0.0 3.3 77700 34752 ? S Jan24 0:20 php-fpm: pool www
www 26776 0.0 3.1 75252 32700 ? S Jan24 0:19 php-fpm: pool www
www 26777 0.0 2.6 70420 26792 ? S Jan24 0:18 php-fpm: pool www
root 32284 0.0 0.0 2660 144 pts/0 D+ 10:14 0:00 grep php-fpm
- 重启php-fpm
kill -USR2 26697
好了
上面方案一般是没有生成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
,由于注释掉,所以没有生成,我们把注释去除,再重启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'