先来理解一下什么是php-fpm
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。
PHP-FPM实际上是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可使用。 如今咱们能够在最新的PHP 5.3.2的源码树里下载获得直接整合了PHP-FPM的分支,听说下个版本会融合进PHP的主分支去。相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,并且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。 php
PHP5.3.3已经集成php-fpm了,再也不是第三方的包了。PHP-FPM提供了更好的PHP进程管理方式,能够有效控制内存和进程、能够平滑重载PHP配置,比spawn-fcgi具备更多优势,因此被PHP官方收录了。在./configure的时候带 –enable-fpm参数便可开启PHP-FPM。 使用PHP-FPM来控制PHP-CGI的FastCGI进程php-fpm
master进程能够理解如下信号spa
INT, TERM 马上终止
QUIT 平滑终止
USR1 从新打开日志文件
USR2 平滑重载全部worker进程并从新载入配置和二进制模块
示例:日志
php-fpm 关闭:
代码以下 复制代码code
kill -INT cat /usr/local/php/var/run/php-fpm.pid
进程
php-fpm 重启:
代码以下 复制代码crontab
kill -USR2 cat /usr/local/php/var/run/php-fpm.pid
ip
查看php-fpm进程数:
代码以下 复制代码内存
ps aux | grep -c php-fpm
源码
php-fmp的重启 (方法二)
先执行
代码以下 复制代码
killall php-fpm
再执行(usr/local/php是php的安装目录)
代码以下 复制代码
/usr/local/php/sbin/php-fpm &