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

