PHP+FastCGI+Nginx配置PHP運(yùn)行環(huán)境
CGI的英文全稱為Common Gateway Interface(公共網(wǎng)關(guān)接口),是Nginx和動(dòng)態(tài)腳本程序的橋梁,Nginx通過FastCGI接口將動(dòng)態(tài)請(qǐng)求發(fā)送給FastCGI,F(xiàn)astCGI中的Wrapper進(jìn)程生成一個(gè)線程,將請(qǐng)求交給腳本解釋程序執(zhí)行,然后通過原來的socket將解釋執(zhí)行后的結(jié)果原路返回給Nginx,之后Nginx將結(jié)果交給客戶端。
Nginx是通過套接字文件socket來將動(dòng)態(tài)請(qǐng)求發(fā)送給wrapper,使用的是Tcp協(xié)議。wrapper通過CGI接口來接受請(qǐng)求。這樣web服務(wù)器和解釋程序之間完全可以獨(dú)立開發(fā),這樣避免了解釋程序直接調(diào)用服務(wù)器的接口而導(dǎo)致的出錯(cuò)和崩潰以及安全性問題。而且可以使Nginx專心處理靜態(tài)頁面請(qǐng)求和轉(zhuǎn)發(fā)動(dòng)態(tài)請(qǐng)求,而將腳本解釋器安裝在另一臺(tái)服務(wù)器,使服務(wù)器的壓力得到分?jǐn)偂?/p>
CGI是作為PHP程序的補(bǔ)丁開發(fā)的,安裝PHP首先安裝其所依賴的庫(kù),之后在編譯配置參數(shù)時(shí)加入對(duì)CGI的支持--enable-fpm --enable-cgi等選項(xiàng)。編譯PHP的擴(kuò)展模塊,需要用到php中的phpize工具用來生成模塊編譯時(shí)的configure文件,如果運(yùn)行phpize時(shí)無法生成configure文件,原因有:沒有安裝autoconf軟件包。
php-fpm進(jìn)程的配置文件為/usr/local/php/etc/php-fpm.conf 可以對(duì)php-fpm進(jìn)行相應(yīng)的配置。
Nginx配置支持fastcgi:
location ~ \.php${
root html;
fastcgi_pass unix:/tmp/fastcgi.soke //通過套接字文件和cgi建立聯(lián)系,該文件在php-fpm.conf中設(shè)置
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME html$SCRIPT_FILE_NAME;設(shè)置參數(shù)
include fastcgi_params; //導(dǎo)入fastcgi參數(shù)配置文件,該文件在nginx安裝時(shí)自動(dòng)生成。
}
- Nginx中FastCGI如何配置優(yōu)化
- PHP(FastCGI)在Nginx的alias下出現(xiàn)404錯(cuò)誤的解決方法
- 在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
- Perl使用nginx FastCGI環(huán)境做WEB開發(fā)實(shí)例
- nginx FastCGI錯(cuò)誤Primary script unknown解決辦法
- Gentoo 下安裝與配置Nginx+ MySQL + PHP (fastcgi) 環(huán)境步驟分享
- CentOS 6.1 環(huán)境中部署nginx、php(包括fastcgi)、虛擬主機(jī)配置
- Nginx(PHP/fastcgi)的PATH_INFO問題
- Nginx+PHP(FastCGI)搭建高并發(fā)WEB服務(wù)器(自動(dòng)安裝腳本)第二版
- Nginx0.5.33+PHP5.2.5(FastCGI)搭建勝過Apache10倍的Web服務(wù)器
- Nginx FastCGI緩存的實(shí)現(xiàn)示例
相關(guān)文章
php切割頁面div內(nèi)容的實(shí)現(xiàn)代碼分享
今天在百度知道看到一個(gè)關(guān)于php獲取DIV內(nèi)容的問題,做了一晚,終于是做出來了2012-07-07
Laravel 創(chuàng)建指定表 migrate的例子
今天小編就為大家分享一篇Laravel 創(chuàng)建指定表 migrate的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
thinkPHP3.0框架實(shí)現(xiàn)模板保存到數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了thinkPHP3.0框架實(shí)現(xiàn)模板保存到數(shù)據(jù)庫(kù)的方法,結(jié)合實(shí)例形式分析了使用thinkPHP3.0框架開發(fā)CMS系統(tǒng)過程中將模板保存到數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
Laravel實(shí)現(xiàn)定時(shí)任務(wù)的示例代碼
本篇文章主要介紹了Laravel實(shí)現(xiàn)定時(shí)任務(wù)的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
php操作xml并將其插入數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猵hp操作xml并將其插入數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
Zend Framework+smarty用法實(shí)例詳解
這篇文章主要介紹了Zend Framework+smarty用法,結(jié)合實(shí)例形式詳細(xì)分析了Zend Framework框架整合Smarty模板的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-03-03
PHP使用opendir和readdir函數(shù)讀取指定目錄下所有文件
這篇文章主要介紹了PHP使用opendir和readdir函數(shù)讀取指定目錄下所有文件實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Ubuntu VPS中wordpress網(wǎng)站打開時(shí)提示”建立數(shù)據(jù)庫(kù)連接錯(cuò)誤”的解決辦法
這篇文章給大家介紹的是在Ubuntu VPS中wordpress網(wǎng)站打開時(shí)提示”建立數(shù)據(jù)庫(kù)連接錯(cuò)誤”的解決辦法,相信"建立數(shù)據(jù)庫(kù)連接錯(cuò)誤"大家并不陌生,最近我在做一個(gè)項(xiàng)目的時(shí)候就又遇到了這個(gè)問題,現(xiàn)在將我解決的步驟分享給大家,希望對(duì)同樣遇到這個(gè)問題的朋友們能有所幫助。2016-11-11

