先來理解一下什麼是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 &