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

Posted wwlww

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php-fpm启动,重启,终止操作相关的知识,希望对你有一定的参考价值。

php-fpm启动,重启,终止操作
 最近安装了mysqli扩展,重启了nginx后,phpinfo()没有显示出mysqli,后来搞不出原因,直接使用了pdo连接数据库。直到今天安装redis后phpinfo()没有显示redis,内心那一万只奔腾的草泥马终于爆发,狂找办法,才知道是php-fpm没有重启,按网上的方法鼓捣,完全就是百度文章一家亲,没有一个说到点上,最后还是鼓捣出来了,下面说说php-fpm启动,重启,终止操作方法。

 

启动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‘

















以上是关于php-fpm启动,重启,终止操作的主要内容,如果未能解决你的问题,请参考以下文章

php 中php-fpm 的重启终止操作命令

php 5.4中php-fpm 的重启终止操作命令

docker php-fpm 一直重启问题处理

PHP5.6中php-fpm的配置启动关闭和重启

Nginx和PHP-FPM的启动重启停止脚本分享

PHP-FPM的常用操作