溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2020-06-18 20:46:11 來源:網(wǎng)絡 閱讀:813 作者:bengbengtu1 欄目:web開發(fā)

    上次介紹了有關(guān)php以模塊的方式結(jié)合apache工作,這次介紹一下php以fpm的方式結(jié)合apache工作的過程!

編譯安裝LAMP,使用的操作系統(tǒng)為CentOS 6版本,ip地址:192.168.1.101;

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

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

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


php-5.4.40的編譯

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

[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        //支持多字節(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/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的相關(guān)選項為你所需要的值,并啟用pid文件(如下最后一行):
listen = 0.0.0.0:9000             //監(jiān)聽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

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

3、配置httpd-2.4

1、啟用httpd的相關(guān)模塊

在Apache httpd 2.4以后已經(jīng)專門有一個模塊針對FastCGI的實現(xiàn),此模塊為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    //關(guān)閉正向代理

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

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


5、測試php是否已經(jīng)可以以fpm的方式結(jié)合apache工作

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

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


向AI問一下細節(jié)

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

AI