之前我的一片笔记里面讲到了FastCGI、php-fpm相关的知识,今天说一下php-fpm的启动、重启、关闭

启动php-fpm

/usr/local/php/sbin/php-fpm

执行以上命令就能够启动php-fpm

可以用命令ps aux|grep php-fpm查看正在运行的php-fpm相关进程

重启php-fpm

以前php-fpm是可以通过/usr/local/php/sbin/php-fpm reload这种命令重启的,但是自从php-fpm被收编到官方源代码里面之后,这种方法就不管用了。

可以使用信号量来实现重启功能

首先用命令ps aux|grep php-fpm查看正在运行的php-fpm相关进程,结果如下:

nemo   26915  0.0  0.2 263656 10972 ?      Ss   13:46   0:01 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)

nemo   26916  0.0  0.2 263524 9864 ?       S    13:46   0:00 php-fpm: pool www

nemo   26917  0.0  0.2 263524 9864 ?       S    13:46   0:00 php-fpm: pool www

第一列就是进程所属的用户,第二列就是pid。

可以使用kill -USR2 master的pid的方式来实现php-fpm的平滑重启。由于master负责管理线程,所以只要发信号给master就行。

相关的信号量的含义是这样的:

  • INT, TERM 立刻终止
  • QUIT 平滑终止
  • USR1 重新打开日志文件
  • USR2 平滑重载所有worker进程并重新载入配置和二进制模块

关闭php-fpm

可以使用kill -TERM master的pid或者或者kill -INT master的pid或者kill -QUIT master的pid终止php-pfm