LAMP編譯介紹二、 php以fpm的方式結合apache工作

    上次介紹了有關php以模塊的方式結合apache工作,這次介紹一下php以fpm的方式結合apache工作的過程!

編譯安裝LAMP,使用的操作系統爲CentOS 6版本,ip地址:192.168.1.101;

httpd和mariadb,以及xcache爲php加速的編譯過程沒有變化,跟上次介紹的過程一樣,這裏就不多做介紹了!

注:不知道編譯過程的朋友請查看《LMAP編譯介紹一》所講內容!

下面開始主要介紹php的編譯!!


php-5.4.40的編譯

1、解決依賴關係

[root@localhost ~]# yum groupinstall -y "Development tools" "Server Platform Development"
[root@localhost php-5.4.40]# yum install -y libxml2-devel
[root@localhost php-5.4.40]# yum install bzip2-devel -y

[root@localhost ~]# yum localinstall libmcrypt-2.5.7-1.2.el6.rf.x86_64.rpm
[root@localhost ~]# yum localinstall libmcrypt-devel-2.5.7-1.2.el6.rf.x86_64.rpm


2、編譯安裝php-5.4.40

[root@localhost ~]# mkdir /etc/php5
[root@localhost ~]# mkdir /etc/php.d
[root@localhost ~]# cd php-5.4.40
[root@localhost php-5.4.40]# ./configure 
--prefix=/usr/local/php5                //指明安裝目錄
--with-mysql=/usr/local/mysql        //指明mysql安裝目錄
--with-openssl              //使用openssl
--with-mysqli=/usr/local/mysql/bin/mysql_config  //mysql的另一個接口
--enable-mbstring        //支持多字節字符串,多種語言使用
--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/php.d    //php的輔助配置文件目錄
--with-bz2           //支持bz2壓縮
[root@localhost php-5.4.40]# make -j 4
[root@localhost php-5.4.40]# make install
[root@localhost php-5.4.40]# cp php.ini-production /etc/php5/php.ini
[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提供配置文件:
# cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf 
編輯php-fpm的配置文件:
# vim /usr/local/php5/etc/php-fpm.conf
配置fpm的相關選項爲你所需要的值,並啓用pid文件(如下最後一行):
listen = 0.0.0.0:9000             //監聽ip及端口
pm.max_children = 50        
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 5
pid = /usr/local/php5/var/run/php-fpm.pid         

接下來就可以啓動php-fpm了:
# service php-fpm start

wKiom1YCgomDhN6sAAHa3Nwk-tU571.jpg

3、配置httpd-2.4

1、啓用httpd的相關模塊

在Apache httpd 2.4以後已經專門有一個模塊針對FastCGI的實現,此模塊爲mod_proxy_fcgi.so,它其實是作爲mod_proxy.so模塊的擴充,因此,這兩個模塊都要加載

 # vim /etc/httpd24/httpd.conf

LoadModule proxy_module modules/mod_proxy.so         

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so


 2、添加如下二行

   AddType application/x-httpd-php  .php

   AddType application/x-httpd-php-source  .phps


 3、定位至DirectoryIndex index.html 

   修改爲:

    DirectoryIndex  index.php  index.html


4、配置支持使用fcgi

ProxyRequests Off    //關閉正向代理

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

//把以.php結尾的文件請求發送到php-fpm進程,php-fpm至少需要知道運行的目錄和URI,所以這裏直接在fcgi://127.0.0.1:9000後指明瞭這兩個參數,其它的參數的傳遞已經被mod_proxy_fcgi.so進行了封裝,不需要手動指定。


5、測試php是否已經可以以fpm的方式結合apache工作

wKiom1YCgA6BYvIHAANVPkTGnFA364.jpg

至此php以fpm方式結合apache工作介紹完畢!! 


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