程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php-fpm進程關閉與重啟腳本詳解,php-fpm詳解

php-fpm進程關閉與重啟腳本詳解,php-fpm詳解

編輯:關於PHP編程

php-fpm進程關閉與重啟腳本詳解,php-fpm詳解


先來理解一下什麼是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則沒有這種煩惱。   

PHP5.3.3已經集成php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP進程管理方式,可以有效控制內存和進程、可以平滑重載PHP配置,比spawn-fcgi具有更多優點,所以被PHP官方收錄了。在./configure的時候帶 –enable-fpm參數即可開啟PHP-FPM。   使用PHP-FPM來控制PHP-CGI的FastCGI進程
(www.111cn.net)
master進程可以理解以下信號

INT, TERM 立刻終止
QUIT 平滑終止
USR1 重新打開日志文件
USR2 平滑重載所有worker進程並重新載入配置和二進制模塊

示例:

php-fpm 關閉:

代碼如下 復制代碼
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

php-fpm 重啟:

代碼如下 復制代碼
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

查看php-fpm進程數:

代碼如下 復制代碼
ps aux | grep -c php-fpm

php-fmp的重啟 (方法二)

先執行

代碼如下 復制代碼
killall php-fpm

再執行(usr/local/php是php的安裝目錄)

代碼如下 復制代碼
/usr/local/php/sbin/php-fpm &

from:http://www.111cn.net/phper/php-gj/52906.htm


windows2003怎定時重啟PHP-CGI

笨辦法就是寫個批處理,然後把上述啟動方式寫到批處理裡,然後任務計劃裡定時啟動該批處理。
你可以在啟動之前,先用 taskkill /f /im php-cgi.exe 把php-cgi殺掉,然後再 RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c php\php.ini
 

利用shell腳本自動重啟php服務

#!/bin/bash
if[ (top | grep php | cut -d -f 9) -gt $1 ];then
sudo /data/webserver/php-5.2.17/sbin/php-fpm reload -u ××× -p×××;
fi
PS:其中$1替換成你要監測的負載值,比如你想讓fpm的cpu占用率不超過10%,那你就用10代替$1。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved