[ZT] 使用PHP-FPM (PHP FastCGI Process Manager)來對php-cgi進程進行管理

來源:互聯網
上載者:User

簡介:這是[ZT] 使用PHP-FPM (PHP FastCGI Process Manager)來對php-cgi進程進行管理的詳細頁面,介紹了和php,有關的知識、技巧、經驗,和一些php源碼等。

class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=334798' scrolling='no'>

如果使用PHP-FPM (PHP FastCGI Process Manager)來對進程進行管理,則需要提前做如下工作:
先到官網下載與php版本對應的php-fpm補丁:PHP-FPM

假設:php原始碼目錄在:/usr/local/php/source/php-5.2.9,php-fpm下載到了/usr/local/php/source

cd /usr/local/php/sourcegzip -cd php-5.2.8-fpm-0.5.10.diff.gz | patch -d php-5.2.9 -p1

補丁打好以後,編譯php的時候增加了下面幾個參數:

�enable-fpm 啟用fastcgi模式的fpm支援
�with-fpm-conf php-fpm的設定檔(預設是PREFIX/etc/php-fpm.conf)
�with-fpm-log php-fpm的記錄檔(預設是PREFIX/logs/php-fpm.log)
�with-fpm-pid php-fpm的pid檔案(預設是PREFIX/logs/php-fpm.pid)

編譯的時候�enable-fpm當然是必須的,其它幾項可以根據你自己的情況自行調整。
編譯參數:

cd /usr/local/src/php-5.2.9./configure --enable-fastcgi --enable-fpm --prefix=/usr/local/php --with-config-file-path=/etcmakemake install

其它的一些php編譯參數,這裡就略去了。
稍等片刻,等php編譯並安裝好,下面開始配置php-fpm。

vi /etc/php-fpm.conf

php-fpm.conf是一個xml格式的純文字檔案,具體細節可以自己開啟看看,基本上一看就明白了。在這裡特別注意一下這幾個配置欄位::

#這個表示php的fastcgi進程監聽的ip地址以及連接埠<value name="listen_address">127.0.0.1:9000</value> #表示php的fastcgi進程以什麼使用者以及使用者組來運行<value name="user">nobody</value><value name="group">nobody</value> #是否顯示php錯誤資訊<value name="display_errors">0</value> #最大的子進程數目<value name="max_children">5</value>

下面運行php-fpm:

/usr/local/php/bin/php-cgi --fpm

現在php的fastcgi進程就已經在後台運行,並監聽127.0.0.1的9000連接埠。
可以用ps和netstat來看看結果:

ps aux | grep php-cginetstat -tpl | grep php-cgi

安裝好了php-fpm,那麼它是怎麼來達到我們最初的目的的呢?
很幸運,php-fpm自己就給我們準備了一個程式來控制fastcgi進程,這個檔案在$PREFIX/sbin/php-fpm

運行一下:

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

該程式有如下參數:

start 啟動php的fastcgi進程
stop 強制終止php的fastcgi進程
quit 平滑終止php的fastcgi進程
restart 重啟php的fastcgi進程
reload 重新載入php的php.ini
logrotate 重新啟用log檔案

也就是說,在修改了php.ini之後,我們可以使用

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

這樣,保持php的fastcgi進程持續啟動並執行狀態下,又重新載入了php.ini。

轉載自 http://www.wemvc.com/872.html

愛J2EE關注Java邁克爾傑克遜視頻站JSON線上工具

http://biancheng.dnbcw.info/php/334798.html pageNo:10

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.