日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

PHP源码安装及配置——以fastCGI的方式与httpd整合

發(fā)布時(shí)間:2025/3/8 php 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP源码安装及配置——以fastCGI的方式与httpd整合 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ? 在前一篇博文中介紹了LAMP的安裝及配置。這里專門介紹PHP以fastCGI的方式與httpd整合的情況下,具體如何編譯及配置。而且假定httpd、mysql均如前一篇博文介紹的安裝配置完畢。php也采取一樣版本的源碼包php-5.6.1.tar.bz2。


1. ?編譯安裝php

# tar xf php-5.6.1.tar.bz2

# cd php-5.6.1

# ./configure --prefix=/usr/local/php --enable-sockets --enable-mbstring --enable-xml --enable-fpm --with-bz2 --with-openssl --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-mcrypt --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/etc/php --with-config-file-scan-dir=/etc/php.d

# make && make install


注:編譯時(shí)請(qǐng)確保機(jī)器的內(nèi)存大于1G,或者在./configure 的選項(xiàng)中加上“--disable-fileinfo”,否則可能出現(xiàn)編譯失敗的情況。


2. ?為php提供配置文件

# cp php.ini-production /etc/php.ini


3. ?配置php-fpm

a) 為php-fpm提供配置文件

? ? ?# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

b) 編輯php-fpm的配置文件,調(diào)整相關(guān)的運(yùn)行參數(shù)作優(yōu)化。當(dāng)然使用默認(rèn)值也能正常運(yùn)行。
? ? ?# vim /usr/local/php/etc/php-fpm.conf
? ? ?配置fpm的相關(guān)選項(xiàng)為你所需要的值,并啟用pid文件(如下最后一行):
? ? ? ?pm.max_children = 50
? ? ? ?pm.start_servers = 5
? ? ? ?pm.min_spare_servers = 2
? ? ? ?pm.max_spare_servers = 8
? ? ? ?pid = /usr/local/php/var/run/php-fpm.pid

c) 為php-fpm提供SysV init腳本,并將其添加至服務(wù)列表

? ? ? ?# cp sapi/fpm/init.d.php-fpm ? /etc/rc.d/init.d/php-fpm
? ? ? ?# chmod +x /etc/rc.d/init.d/php-fpm
? ? ? ?# chkconfig --add php-fpm
? ? ? ?# chkconfig php-fpm on

4. ?啟動(dòng)php-fpm服務(wù),測(cè)試運(yùn)行狀態(tài)

# service php-fpm start

# netstat -tnlp | grep php-fpm

默認(rèn)情況下,fpm監(jiān)聽(tīng)在127.0.0.1的9000端口


5. ?修改httpd的主配置文件httpd.conf

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

? ? LoadModule proxy_module modules/mod_proxy.so
? ? LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

b) 在相應(yīng)的位置添加如下行

? ? AddType application/x-httpd-php ?.php

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

c) 修改DirectoryIndex 的定義為:

? ? DirectoryIndex ?index.php ?index.html


6. ?配置虛擬主機(jī)支持使用fcgi

在相應(yīng)的虛擬主機(jī)中添加類似如下兩行:

ProxyRequests Off
? ? ? ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/PATH/TO/DOCUMENT_ROOT/$1

參數(shù)選項(xiàng)含義解釋

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

舉例:

<VirtualHost *:80>
? ?DocumentRoot "/www/htdocs/test.com"
? ?ServerName www.test.com
? ?ServerAlias test.com

? ?ProxyRequests Off
? ?ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/www/htdocs/test.com/$1

? ?<Directory "/www/htdocs/test.com">
? ? ? ?Options none
? ? ? ?AllowOverride none
? ? ? ?Require all granted
? ?</Directory>
</VirtualHost>




轉(zhuǎn)載于:https://blog.51cto.com/deshanrenjian/1561648

總結(jié)

以上是生活随笔為你收集整理的PHP源码安装及配置——以fastCGI的方式与httpd整合的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。