前面一個博文介紹了怎么用編譯的方式搭建一個LAMP,這里我就不再一一描述了,我這里詳細介紹一下PHP以fpm的方式工作:
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、華陰ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的華陰網(wǎng)站制作公司
如果想讓編譯的PHP支持mcrypt擴展,在這里除了libmcrypt這個包之外還需要安裝
mhash-0.9.9.9-3.el6.x86_64
mhash-devel-0.9.9.9-3.el6.x86_64
[root@localhost tmp]# tar xf php-5.4.40.tar.bz2 [root@localhost tmp]# cd php-5.4.40 [root@localhost php-5.4.40]# ./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 [root@localhost php-5.4.40]# make -j 4 && make install
--prefix=/usr/local/php5 //指明安裝目錄 --with-mysql=/usr/local/mysql //指明mysql安裝目錄 --with-openssl //使用openssl --with-mysqli=/usr/local/mysql/bin/mysql_config //mysql的另一個接口 --enable-mbstring //支持多字節(jié)字符串,多種語言使用 --with-freetype-dir //一種字體格式目錄 --with-jpeg-dir //jpeg格式文件目錄 --with-png-dir //png格式文件目錄 --with-zlib //支持壓縮 --with-libxml-dir=/usr //xml的庫目錄 --enable-xml //支持xml --enable-sockets //支持套接字 --enable-fpm //重點:支持fpm --with-mcrypt //支持加密解密 --with-config-file-path=/etc/php5 //php配置文件目錄 --with-config-file-scan-dir=/etc/php5.d //php的輔助配置文件目錄 --with-bz2 //支持bz2壓縮
[root@localhost php-5.4.40]# mkdir /etc/php5 為php提供配置文件 [root@localhost php-5.4.40]# cp php.ini-production /etc/php5/php.ini 為php-fpm提供SysV init腳本,并將其添加至服務(wù)列表: [root@localhost php-5.4.40]# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm [root@localhost php-5.4.40]# chmod +x /etc/rc.d/init.d/php-fpm [root@localhost php-5.4.40]# chkconfig --add php-fpm [root@localhost php-5.4.40]# chkconfig php-fpm on [root@localhost php-5.4.40]# chkconfig --list php-fpm php-fpm 0:off1:off2:on3:on4:on5:on6:off 為php-fpm提供配置文件,并編輯php-fpm的配置文件 [root@localhost php-5.4.40]# cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf [root@localhost php-5.4.40]# 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 [root@localhost php-5.4.40]# service php-fpm start Starting php-fpm done ###說明PHP已經(jīng)啟動起來
使用如下命令來驗正(如果此命令輸出有中幾個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
啟用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
配置虛擬主機支持使用fcgi
我們就在中心主機添加如下:
ProxyRequests Off //關(guān)閉正向代理
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1
ProxyRequests Off:關(guān)閉正向代理
ProxyPassMatch:把以.php結(jié)尾的文件請求發(fā)送到php-fpm進程,php-fpm至少需要知道運行的目錄和URI,所以這里直接在fcgi://127.0.0.1:9000后指明了這兩個參數(shù),其它的參數(shù)的傳遞已經(jīng)被mod_proxy_fcgi.so進行了封裝,不需要手動指定。
有上圖就可以知道編譯成功了。
接著我們做壓力測試:
[root@lirui ~]# ab -c 500 -n 10000 http://192.168.1.104/pma
接下來我們來編譯xcache:
[root@localhost tmp]# tar -xf xcache-3.1.2.tar.gz [root@localhost tmp]# cd xcache-3.1.2 [root@localhost xcache-3.1.2]# /usr/local/php5/bin/php php php-cgi php-config phpize [root@localhost xcache-3.1.2]# /usr/local/php5/bin/phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 [root@localhost xcache-3.1.2]# ./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-20100525/
[
root@localhost xcache-3.1.2]# cp xcache.ini /etc/php5.d/ [root@localhost xcache-3.1.2]# vim /etc/php5.d/xcache.ini extension =/usr/local/php5/lib/php/extensions/no-debug-non-zts-20100525/xcache.so 這里的路徑就是上面編譯生成的 [root@localhost xcache-3.1.2]# service php-fpm restart ##這里只要重啟php就可以了 Gracefully shutting down php-fpm . done Starting php-fpm done
這里xcache也好了。我們在做壓力測試:(這里的地址是隨機的,中間斷網(wǎng)了,你懂的)
[root@lirui ~]# ab -c 500 -n 10000 http://192.168.1.106/pma
可以看出加速效果是很明顯的。
當前題目:LAMP編譯安裝之PHP以fpm的方式結(jié)合apache工作
文章分享:http://jinyejixie.com/article4/pgieie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、Google、網(wǎng)頁設(shè)計公司、動態(tài)網(wǎng)站、靜態(tài)網(wǎng)站、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)