欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

CentOS下如何實現(xiàn)與Apache連接的PHP多版本共存方案-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“CentOS下如何實現(xiàn)與Apache連接的PHP多版本共存方案”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“CentOS下如何實現(xiàn)與Apache連接的PHP多版本共存方案”這篇文章吧。

創(chuàng)新互聯(lián)建站堅實的技術研發(fā)基礎贏得了行業(yè)內的良好口碑,公司成立10多年來,為近1000家企業(yè)提供過網(wǎng)站建設、軟件開發(fā)、搜索引擎優(yōu)化技術、互聯(lián)網(wǎng)大數(shù)據(jù)整合營銷服務,多年的技術服務成功經(jīng)驗、眾多的客戶使我們能懂得更多,做得更好。"讓您的網(wǎng)站跑起來"是我們一直追求的目標!

apache下有多個fastCGI的支持方案:至少有mod_fcgi、mod_fastcgi(git)、mod_proxy_fcgi等。這兩個模塊都有點老,尤其mod_fastcgi自從2007年以來就沒有更新,略掉不談,事實上沒用過用。mod_proxy_fcgi模塊是httpd 2.4+的版本正式引入,通過簡潔的一行 ProxyPassMatch 指令即可。

mod_fcgi

mod_fcgi模塊本身是做fastCGI進程管理的,使用它就不需要使用php-fpm管理進程了。核心配置參數(shù)

LoadModule fcgid_module modules/mod_fcgid.so
<VirtualHost *:80>
  DocumentRoot "/var/www/html/site_1"
  ServerName "www.yourhost.com"
  DirectoryIndex index.html index.php
  #php.ini的存放目錄,Linux下通常不需要
  #FcgidInitialEnv PHPRC "D:/php"
  # 設置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi進程在處理完所有請求前退出
  FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
  #php-cgi每個進程的較大請求數(shù)
  FcgidMaxRequestsPerProcess 1000
  #php-cgi較大的進程數(shù)
  FcgidMaxProcesses 3
  #較大執(zhí)行時間
  FcgidIOTimeout 600
  FcgidIdleTimeout 600
  #php-cgi的路徑
  FcgidWrapper /usr/local/php7/bin/php-cgi .php
  AddHandler fcgid-script .php
  FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
  <Directory "/var/www/html/site_1">
    Options +ExecCGI
  </Directory>
</VirtualHost>

幾個Fcgid*指令,是優(yōu)化之用,這里僅示例,要按實際情況調整數(shù)值。具體參看mod_fcgi官方文檔

使用mod_fcgid的幾個特點
php-fgi進程是由apache模塊啟動并管理,不需要配置php-fpm
在php-cig進程以apache用戶身份運行,php程序寫的文件,其權限為apache用戶(而不像php-fpm下寫文件為php-fpm用戶所有,默認是nobody),這樣在目錄權限管理方面一致性高些。
mod_fastcgi

雖然CentOS 6.x下是apache 2.2,但所幸已經(jīng)有人成功移植: /tupian/20230522/mod-proxy-fcgi 我們可以直接使用;更幸運的是它已經(jīng)進入epel源,直接yum安裝即可;不想匹配epel源的,直接下載rpm包安裝也可以(示例 http://mirrors.ustc.edu.cn/epel/6/x86_64/)

當然可以重新編譯安裝apache 2.4, 這樣直接有mod_proxy_fcgi可以使用,但這里還是保持原版本不變,省掉編譯的工作量。

參考mod_proxy_fcgi官方文檔,整合php-fpm的配置指令

ProxyPassMatch "^/myapp/.*\.php(/.*)?$" "fcgi://localhost:9000/var/www/"
語法很簡單,跟配置反向代理類似,可以按實際需要做修改。事實上與mod_proxy模塊語法一致的,不同處是將http協(xié)議改成fcig協(xié)議。

以上是apache整合php-fpm模式運行的fastCGI,接下來要對yum安裝的php做下配置修改。

yum安裝的php配置文件 /etc/httpd/conf.d/php.conf ,其中有如下一行

AddHandler php5-script .php

我們要對不同的站點啟用不同的php,上面一行是對全局的.php文件分配給php模塊處理,我們把這一行注釋掉。而是在每個站點啟用不同的php運行模式。

以上即是處理方式。

[已知問題]:裸目錄地址轉發(fā)
有一個困擾的問題沒有解決,感覺有點像模塊bug:

對于配置了DirectoryIndex index.php的目錄,如果其子目錄沒有index.php,上述ProxyPassMatch還是會做fastCGI轉發(fā),這時會看到php-fpm的404響應,而不是apache的響應403頁面。但前面的規(guī)則并不轉發(fā)這裸空目錄的url,所以感覺像bug

再者就是,對于ProxyPassMatch匹配的目錄,apache自動索引功能失效。(當然如果不開啟autoindex就無所謂了。生產(chǎn)環(huán)境下通常不開啟的)

其它,似乎也沒有什么嚴重后果,或者我沒還意識到(?)。

解決方法:每個目錄下,都放置一個index.html,避免fpm-php處理空請求

以上是“CentOS下如何實現(xiàn)與Apache連接的PHP多版本共存方案”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當前文章:CentOS下如何實現(xiàn)與Apache連接的PHP多版本共存方案-創(chuàng)新互聯(lián)
新聞來源:http://chinadenli.net/article12/epsgc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管軟件開發(fā)搜索引擎優(yōu)化小程序開發(fā)ChatGPT電子商務

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化