Press "Enter" to skip to content

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

转自:https://www.cnblogs.com/feng18/p/6225781.html

启动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     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'
Leave a Reply

Your email address will not be published. Required fields are marked *