構(gòu)建LAMP平臺,可以把PHP編譯為apache的一個模塊或者直接把PHP編譯為一個單獨的服務(wù),然后獨立運行,當(dāng)apache需要和PHP通信時,apache就變?yōu)榱艘粋€客戶端,向PHP發(fā)起請求,然后由PHP把apache發(fā)去的代碼解釋后發(fā)回apache,最后由apache返回給客戶端。
創(chuàng)新互聯(lián)云計算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、雅安服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗,已先后獲得國家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機、虛擬主機、國際域名空間、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。要編譯實現(xiàn)fpm模式的LAMP平臺,可以使用兩臺或者三臺虛擬機,分別在虛擬機上編譯出apache和PHP和MariaDB,在此我使用兩臺虛擬機。一臺獨立運行MariaDB,另一臺運行apache和PHP。規(guī)劃如下
主機 | IP | 運行服務(wù) |
A | 192.168.252.10 | MariaDB |
B | 192.168.252.11 | Apache+PHP |
對于apache和MariaDB的編譯安裝可參考http://7703592.blog.51cto.com/7693592/1649948在此不再贅述。直接介紹PHP安裝。
下載php-5.5.40解壓并切換到解壓文件目錄執(zhí)行以下命令
[root@localhost php-5.4.40]# ./configure --prefix=/usr/local/php --enable-fpm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/ --enable-xml --enable-sockets --with-mcrypt --with-bz2 --with-config-file-path=/etc/php/php.ini --with-config-file-scan-dir=/etc/php.d/[root@localhost php-5.4.40]# make && make install為php提供運行腳本
[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#:給腳本執(zhí)行權(quán)限 [root@localhost php-5.4.40]# chkconfig --add php-fpm#添加到chkconfig列表, [root@localhost php-5.4.40]# chkconfig php-fpm on#設(shè)置開機自啟動為服務(wù)提供配置文件
[root@localhost php-5.4.40]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf編輯配置文件,設(shè)置以下參數(shù)
Pm.max_children = 50#:設(shè)置最多子進(jìn)程數(shù)量為50
Pm_start_servers = 5#:設(shè)置預(yù)先啟動的進(jìn)程數(shù)為5個
Pm.min_spare_servers = 2#:設(shè)置最少空閑子進(jìn)程數(shù)為2
Pm.max_spare_servers = 8#:設(shè)置最多空閑子進(jìn)程數(shù)為8
Pid = /usr/local/php/var/run/php-fpm.pid#:設(shè)置進(jìn)程文件位置
現(xiàn)在就可以啟動服務(wù)測試了
[root@localhost php-5.4.40]# service php-fpm start由上圖可知php-fpm進(jìn)程默認(rèn)監(jiān)聽在本機的9000端口,
配置apache配置文件
如上圖所示,啟動以下兩個模塊:
proxy_fcgi_module modules/mod_proxy_fcgi.so
proxy_module modules/mod_proxy.so
配置apache中心主機支持反向代理
在apache配置文件中加入以下兩項
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1
編輯apache中心主機的頁面文件/usr/local/apache/htdocs/index.php文件,供測試使用,添加如下內(nèi)容
重啟apache服務(wù)和php-fpm測試
[root@localhost php-5.4.40]# service php-fpm restart [root@localhost php-5.4.40]# service httpd restart [root@localhost php-5.4.40]# service iptables stop#:關(guān)閉防火墻,才可以使用物理機進(jìn)行測試,出現(xiàn)以下頁面,成功
關(guān)閉php-fpm服務(wù)后再次測試,結(jié)果如下
到此php以fpm模式工作實驗測試完成,在此使用的是兩天主機,如果想把php編譯為一臺獨立的主機,以fpm模式工作,可以按照以上步驟配置即可,只需要修改其配置文件php.ini中的監(jiān)聽地址為apache主機所在的地址就行
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。