配置httpd-2.4.23以fpm方式的php-5.5.38
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供天寧網(wǎng)站建設(shè)、天寧做網(wǎng)站、天寧網(wǎng)站設(shè)計、天寧網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、天寧企業(yè)網(wǎng)站模板建站服務(wù),十多年天寧做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
一、apache、MySQL的安裝與前一部分相同;請根據(jù)其進行安裝;
可以參考編譯安裝LAMP http://ljohn.blog.51cto.com/11932290/1863283
二、編譯安裝php-5.5.38
1、解決依賴關(guān)系:
請配置好yum源(可以是本地系統(tǒng)光盤)后執(zhí)行如下命令:
# yum -y groupinstall "X Software Development"
如果想讓編譯的php支持mcrypt擴展可以下載如下rpm包。
libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm mhash-0.9.9-1.el5.centos.i386.rpm mhash-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數(shù)據(jù)庫,可以指定mysqlnd,這樣在本機就不需要先安裝MySQL或MySQL開發(fā)包了。mysqlnd從php 5.3開始可用,可以編譯時綁定到它(而不用和具體的MySQL客戶端庫綁定形成依賴),但從PHP 5.4開始它就是默認設(shè)置了。
# ./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的相關(guān)選項為你所需要的值,并啟用pid文件(如下最后一行): pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 8 pid = /usr/local/php5/var/run/php-fpm.pid
接下來就可以啟動php-fpm了:
# service php-fpm start
使用如下命令來驗正(如果此命令輸出有中幾個php-fpm進程就說明啟動成功了):
# ps aux | grep php-fpm
默認情況下,fpm監(jiān)聽在127.0.0.1的9000端口,也可以使用如下命令驗正其是否已經(jīng)監(jiān)聽在相應(yīng)的套接字。
# netstat -tnlp | grep php-fpm tcp 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的相關(guān)模塊
在Apache httpd 2.4以后已經(jīng)專門有一個模塊針對FastCGI的實現(xiàn),此模塊為mod_proxy_fcgi.so,它其實是作為mod_proxy.so模塊的擴充,因此,這兩個模塊都要加載
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
2、配置中心主機
添加: ProxyRequests Off ProxyPassMatch ^/(.*\.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實現(xiàn)。
四、給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
安裝結(jié)束時,會出現(xiàn)類似如下行:
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服務(wù),和httpd24服務(wù)
# 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倍左右(測試參考值)