<dd id="yzu3f"><tr id="yzu3f"><kbd id="yzu3f"></kbd></tr></dd>

              黑基Web安全攻防班
              安基網 首頁 IT技術 網絡管理 查看內容

              apache使用fcgi配置PHP環境的步驟

              2018-9-23 09:13| 投稿: xiaotiger |來自: 互聯網


              免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

              摘要: 導讀FCGI全稱Fast Common Gateway Interface(快速通用網關協議),是一種讓交互程序與Web服務器通信的協議。FastCGI是早期通用網關接口(CGI)的增強版本,FastCGI致力于減少網頁服務器與CGI程序之間交互的開銷,從 ...

              導讀FCGI全稱Fast Common Gateway Interface(快速通用網關協議),是一種讓交互程序與Web服務器通信的協議。FastCGI是早期通用網關接口(CGI)的增強版本,FastCGI致力于減少網頁服務器與CGI程序之間交互的開銷,從而使服務器可以同時處理更多的網頁請求。

              早期的CGI技術使外部程序與Web服務器之間交互成為可能,但CGI程序運行在獨立的進程中,并對每個Web請求創建一個進程,這種方法非常容易實現,但效率很差,難以擴展。面對大量請求,進程的大量創建和消亡使操作系統性能大大下降,此外由于地址空間無法共享,也限制了資源重用。

              FastCGI使用持續的(守護)進程來處理一連串的請求,這些進程由FastCGI服務器管理,而不是web服務器。 當進來一個請求時,web服務器把環境變量和這個頁面請求通過一個socket比如FastCGI進程與web服務器(都位于本地)或者一個TCP connection(FastCGI進程在遠端的server farm)傳遞給FastCGI進程。

              FPM介紹

              FPM(FastCGI 進程管理器)用于替換 PHP FastCGI 的大部分附加功能,對于高負載網站是非常有用的。

              具體特性和安裝方式可以參照官方網站:FastCGI 進程管理器(FPM)

              開始吧,GOGOGO

              1.下載解壓及準備編譯環境不再贅述

              2.創建FPM使用的用戶和組

              [[email protected] php-5.6.31]# groupadd -r php
              [[email protected] php-5.6.31]# useradd -r php -s /sbin/nologin -g php
              

              3.配置編譯選項

              ./configure --prefix /usr/local/php56 --with-config-file-path=/etc/ --with-config-file-scan-dir=/etc/php.d --with-libxml-dir --with-openssl --with-zlib --enable-mbstring --with-mysql --enable-fpm --with-fpm-user=php --with-fpm-group=php
              

              4.編譯安裝

              make -j 2 & make install
              

              5.更改相關文件的所屬組和所屬用戶

              chown :php php56/ -R
              

              配置FPM和Apache

              1.復制相關配置文件

              cp php.ini-production /etc/php.ini
              chown :php /etc/php.ini
              mkdir /etc/php.d;chown :php /etc/php.d
              cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
              chmod +x /etc/rc.d/init.d/php-fpm
              

              2.編輯fpm配置文件

              cd /usr/local/php56/etc/
              cp -p php-fpm.conf.default php-fpm.conf
              vim php-fpm.conf //此配置文件的路徑定義在啟動腳本中
              

              3.啟用fpm

              service php-fpm start
              

              看到如下輸出并使用netstat -tnl驗證

              Starting php-fpm done
              tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN //netstat -tnl 看到已經監聽了9000端口
              

              4.配置apche

              這里使用PROXYPASSMATCH的方式,目前應該是有4種方式可以配置的,圖個簡單就它了。

              先填個坑,好像之前編譯httpd的時候沒有編譯fcgi模塊….我的天啊…怎么那么多坑…

              /root/httpd-2.4.27/modules/proxy
              /usr/local/httpd24/bin/apxs -c -i -a mod_proxy_fcgi.c
              

              編輯httpd配置文件,取消proxy_module這個模塊前面的#注釋符并添加如下內容:

              
              ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/webroot/$1 //根據自己的網站目錄修改路徑
              
              

              然后重啟apache測試,完工。

              總結

              總算給FCGI形式的php玩了一下,基本上還是能理解這種操作方式的,FCGI主要是可以將php安裝到單獨的主機,然后將網站使用NFS的方式進行存儲。嗯,大概就是這樣,唉,又快11點了,睡覺吧。


              小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

              本文出自:https://www.toutiao.com/a6604054533523898894/

              免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


              鮮花

              握手

              雷人

              路過

              雞蛋

              相關閱讀

              最新評論

              最新

              返回頂部
              十一选五奖金对照表