漫漫運維路——基於fpm的LAMP平臺的構建

構建LAMP平臺,可以把PHP編譯爲apache的一個模塊或者直接把PHP編譯爲一個單獨的服務,然後獨立運行,當apache需要和PHP通信時,apache就變爲了一個客戶端,向PHP發起請求,然後由PHPapache發去的代碼解釋後發回apache,最後由apache返回給客戶端。

要編譯實現fpm模式的LAMP平臺,可以使用兩臺或者三臺虛擬機,分別在虛擬機上編譯出apachePHPMariaDB,在此我使用兩臺虛擬機。一臺獨立運行MariaDB,另一臺運行apachePHP。規劃如下

主機

IP

運行服務

A

192.168.252.10

MariaDB

B

192.168.252.11

Apache+PHP

對於apacheMariaDB的編譯安裝可參考http://7703592.blog.51cto.com/7693592/1649948在此不再贅述。直接介紹PHP安裝。

下載php-5.5.40解壓並切換到解壓文件目錄執行以下命令

[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#:給腳本執行權限
[root@localhost php-5.4.40]# chkconfig --add php-fpm#添加到chkconfig列表,
[root@localhost php-5.4.40]# chkconfig php-fpm on#設置開機自啓動

爲服務提供配置文件

[root@localhost php-5.4.40]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

編輯配置文件,設置以下參數

Pm.max_children = 50#:設置最多子進程數量爲50

Pm_start_servers = 5#:設置預先啓動的進程數爲5

Pm.min_spare_servers = 2#:設置最少空閒子進程數爲2

Pm.max_spare_servers = 8#:設置最多空閒子進程數爲8

Pid = /usr/local/php/var/run/php-fpm.pid#:設置進程文件位置

現在就可以啓動服務測試了

[root@localhost php-5.4.40]# service php-fpm start

wKioL1VPaxWT0nfLAADl0YvaBbQ001.jpg


由上圖可知php-fpm進程默認監聽在本機的9000端口,

配置apache配置文件


wKioL1VPaz2xv11MAAIBrtXQJls944.jpg

 

如上圖所示,啓動以下兩個模塊:

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文件,供測試使用,添加如下內容

 

wKioL1VPa4qTerHwAAGgy-gXxX4383.jpg

 

重啓apache服務和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#:關閉防火牆,纔可以使用物理機進行測試,

出現以下頁面,成功

wKioL1VPa6uABPy5AAOsaQMXeaY869.jpg

 

關閉php-fpm服務後再次測試,結果如下


wKiom1VPaleQ8f2nAAGZi8cSGOY973.jpg

 

    到此phpfpm模式工作實驗測試完成,在此使用的是兩天主機,如果想把php編譯爲一臺獨立的主機,以fpm模式工作,可以按照以上步驟配置即可,只需要修改其配置文件php.ini中的監聽地址爲apache主機所在的地址就行


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章