LAMP環境-編譯安裝php-fpm

來源:互聯網
上載者:User

標籤:編譯安裝php-fpm   lamp   xcache   

配置httpd-2.4.23以fpm方式的php-5.5.38


一、apache、MySQL的安裝與前一部分相同;請根據其進行安裝;

可以參考編譯安裝LAMP http://ljohn.blog.51cto.com/11932290/1863283

二、編譯安裝php-5.5.38


1、解決依賴關係:


請配置好yum源(可以是本地系統光碟片)後執行如下命令:

# yum -y groupinstall "X Software Development"


如果想讓編譯的php支援mcrypt擴充可以下載如下rpm包。

libmcrypt-2.5.7-5.el5.i386.rpmlibmcrypt-devel-2.5.7-5.el5.i386.rpmmhash-0.9.9-1.el5.centos.i386.rpmmhash-devel-0.9.9-1.el5.centos.i386.rpm


2、編譯安裝php-5.5.38

# tar zxf php-5.5.38.tar.gz# cd php-5.5.38# ./configure --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --enable-fpm --with-mcrypt  --with-config-file-path=/etc/php5 --with-config-file-scan-dir=/etc/php5.d --with-bz2


說明:如果使用PHP5.3以上版本,為了連結MySQL資料庫,可以指定mysqlnd,這樣在本機就不需要先安裝MySQL或MySQL開發包了。mysqlnd從php 5.3開始可用,可以編譯時間綁定到它(而不用和具體的MySQL用戶端庫綁定形成依賴),但從PHP 5.4開始它就是預設設定了。

# ./configure --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd
# make && make intall
為php提供設定檔:# mkdir /etc/php5{,.d}# cp php.ini-production /etc/php5/php.ini


編輯php-fpm的設定檔:

# vim /usr/local/php5/etc/php-fpm.conf配置fpm的相關選項為你所需要的值,並啟用pid檔案(如下最後一行):pm.max_children = 50pm.start_servers = 5pm.min_spare_servers = 2pm.max_spare_servers = 8pid = /usr/local/php5/var/run/php-fpm.pid


接下來就可以啟動php-fpm了:

# service php-fpm start

使用如下命令來驗正(如果此命令輸出有中幾個php-fpm進程就說明啟動成功了):

# ps aux | grep php-fpm


預設情況下,fpm監聽在127.0.0.1的9000連接埠,也可以使用如下命令驗正其是否已經監聽在相應的通訊端。

# netstat -tnlp | grep php-fpmtcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      689/php-fpm


三、配置httpd-2.4.23

# vim /etc/httpd24/httpd.conf

1、啟用httpd的相關模組


在Apache httpd 2.4以後已經專門有一個模組針對FastCGI的實現,此模組為mod_proxy_fcgi.so,它其實是作為mod_proxy.so模組的擴充,因此,這兩個模組都要載入

LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so


2、配置中心主機

添加:ProxyRequests OffProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1


3、編輯apache設定檔httpd.conf,讓apache能識別php格式的頁面,並支援php格式的首頁

  # vim /etc/httpd/httpd.conf 1、添加如下二行   AddType application/x-httpd-php  .php   AddType application/x-httpd-php-source  .phps 2、定位至DirectoryIndex index.html    修改為:    DirectoryIndex  index.php  index.html

補充:Apache httpd 2.4以前的版本中,要麼把PHP作為Apache的模組運行,要麼添加一個第三方模組支援PHP-FPM實現。

四、給PHP安裝xcache-3.2.0加速器

1、安裝xcache-3.2.0# tar zxf xcache-3.2.0.tar.gz# cd xcache-3.2.0# /usr/local/php/bin/phpize# ./configure --enable-xcache --with-php-config=/usr/local/php5/bin/php-config# make && make install


安裝結束時,會出現類似如下行:

Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/


2、編輯php.ini,整合php和xcache:

首先將xcache提供的範例配置匯入php.ini# mkdir /etc/php5.d# cp xcache.ini /etc/php5.d


說明:xcache.ini檔案在xcache的源碼目錄中。

接下來編輯 vim /etc/php5.d/xcache.ini,找到zend_extension開頭的行,修改為如下行:extension = /usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/xcache.so

配置完成後重啟php-fpm服務,和httpd24服務

# service php-fpm restart# service httpd24 restart


瀏覽器訪問http://192.168.137.30檢查php測試頁面是否載入出XCache外掛程式的資訊。

壓力測試

# ab -c 20 -n 500 http://192.168.137.30/pma/index.php

相比較之前速度提升5倍左右(測試參考值)


本文出自 “Ljohn” 部落格,請務必保留此出處http://ljohn.blog.51cto.com/11932290/1863570

LAMP環境-編譯安裝php-fpm

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.