溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

LAMP環(huán)境-編譯安裝php-fpm

發(fā)布時(shí)間:2020-06-28 13:31:08 來源:網(wǎng)絡(luò) 閱讀:447 作者:ljohnmail 欄目:web開發(fā)

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


一、apache、MySQL的安裝與前一部分相同;請(qǐng)根據(jù)其進(jìn)行安裝;

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

二、編譯安裝php-5.5.38


1、解決依賴關(guān)系:


請(qǐng)配置好yum源(可以是本地系統(tǒng)光盤)后執(zhí)行如下命令:

# yum -y groupinstall "X Software Development"


如果想讓編譯的php支持mcrypt擴(kuò)展可以下載如下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,這樣在本機(jī)就不需要先安裝MySQL或MySQL開發(fā)包了。mysqlnd從php 5.3開始可用,可以編譯時(shí)綁定到它(而不用和具體的MySQL客戶端庫綁定形成依賴),但從PHP 5.4開始它就是默認(rèn)設(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)選項(xiàng)為你所需要的值,并啟用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


接下來就可以啟動(dòng)php-fpm了:

# service php-fpm start

使用如下命令來驗(yàn)正(如果此命令輸出有中幾個(gè)php-fpm進(jìn)程就說明啟動(dòng)成功了):

# ps aux | grep php-fpm


默認(rèn)情況下,fpm監(jiān)聽在127.0.0.1的9000端口,也可以使用如下命令驗(yàn)正其是否已經(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)專門有一個(gè)模塊針對(duì)FastCGI的實(shí)現(xiàn),此模塊為mod_proxy_fcgi.so,它其實(shí)是作為mod_proxy.so模塊的擴(kuò)充,因此,這兩個(gè)模塊都要加載

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


2、配置中心主機(jī)

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


3、編輯apache配置文件httpd.conf,讓apache能識(shí)別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

補(bǔ)充:Apache httpd 2.4以前的版本中,要么把PHP作為Apache的模塊運(yùn)行,要么添加一個(gè)第三方模塊支持PHP-FPM實(shí)現(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é)束時(shí),會(huì)出現(xiàn)類似如下行:

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


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

首先將xcache提供的樣例配置導(dǎo)入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測(cè)試頁面是否加載出XCache插件的信息。

壓力測(cè)試

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

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


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI