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

查看 php-fpm 进程号
ps -ef | grep php-fpm
ps aux | grep php-fpm

[root@localhost application]# ps -ef | grep php-fpm
root 59602 1 0 20:03 ? 00:00:00 php-fpm: master process (/application/php-5.3.27/etc/php-fpm.conf) master进程 下文会提到
nginx 59603 59602 0 20:03 ? 00:00:00 php-fpm: pool www
nginx 59604 59602 0 20:03 ? 00:00:00 php-fpm: pool www
root 59830 80219 0 20:44 pts/0 00:00:00 grep php-fpm

启动:
找到 php-fpm 的路径,
  1. /application/php/sbin/php-fpm //我的绝对路径是 : /application/php/sbin/php-fpm

终止:
  1. kill 59602 kill php-fpm 进程号
  2. killall 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了:


cat php/var/run/php-fpm.pid 59602 : 其实里面写的就是 php-fpm master主进程的 进程号
php-fpm 关闭:

[`]  反引号, tab 上面的符号 

kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

php-fpm 重启:

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`



*文章为作者原创或网络转载
转载此文请于文首标明作者姓名,保持文章完整性,并请附上出处
未按照规范转载者,陈帅同学保留追究相应责任的权利
编程改变世界

干了这碗鸡汤