网络知识 娱乐 liunx服务器关于php-fpm重启的方式

liunx服务器关于php-fpm重启的方式

最进客户的网站打开就502 bad gateway,因为服务器不是我配置的,也没安装宝塔类的管理软件,头疼的要命,找原因,而且服务器的nginx和php安装路径都完全自定义,找半天才找到,试了好些办法都不行。最后重启了php-fpm才OK,结合网上的教程,简单整理下重启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进程号

[root@test ~]# ps -ef|grep php-fpm
nginx      55507    1168  1 425 ?       01:23:01 php-fpm: pool www
nginx      55508    1168  1 425 ?       01:23:39 php-fpm: pool www
nginx      55509    1168  1 425 ?       01:22:59 php-fpm: pool www
nginx      55510    1168  1 425 ?       01:23:28 php-fpm: pool www
nginx      55511    1168  1 425 ?       01:23:24 php-fpm: pool www
nginx      55512    1168  1 425 ?       01:23:14 php-fpm: pool www
nginx      55513    1168  1 425 ?       01:00:42 php-fpm: pool www
nginx      55514    1168  1 425 ?       01:19:57 php-fpm: pool www
nginx      55515    1168  1 425 ?       01:23:42 php-fpm: pool www

重启 php-fpm:

kill -USR2 1168

这样就OK了。

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

php-fpm 关闭:

kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
注意:/usr/local/php/var/run换成您的php-fpm.pid的文件路径

php-fpm 重启:

kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'
注意:/usr/local/php/var/run换成您的php-fpm.pid的文件路径

对了,记录个nginx启动命令

重启nginx
启动命令:nginx -c /etc/nginx/nginx.conf
停止命令:nginx -s stop