您好,登錄后才能下訂單哦!
上次介紹了有關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
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工作
至此php以fpm方式結合apache工作介紹完畢!!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。