PHP+FastCGI+Nginx配置PHP運行環境_PHP

來源:互聯網
上載者:User
關鍵字 PHP FastCGI Nginx
CGI的英文全稱為Common Gateway Interface(公用網關介面),是Nginx和動態指令碼程式的橋樑,Nginx通過FastCGI介面將動態請求發送給FastCGI,FastCGI中的Wrapper進程產生一個線程,將請求交給指令碼解釋程式執行,然後通過原來的socket將解釋執行後的結果原路返回給Nginx,之後Nginx將結果交給用戶端。

Nginx是通過通訊端檔案socket來將動態請求發送給wrapper,使用的是Tcp協議。wrapper通過CGI介面來接受請求。這樣web伺服器和解釋程式之間完全可以獨立開發,這樣避免瞭解釋程式直接調用伺服器的介面而導致的出錯和崩潰以及安全性問題。而且可以使Nginx專心處理靜態頁面請求和轉寄動態請求,而將指令碼解譯器安裝在另一台伺服器,使伺服器的壓力得到分攤。

CGI是作為PHP程式的補丁開發的,安裝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建立聯絡,該檔案在php-fpm.conf中設定             fastcgi_index index.php;             fastcgi_param SCRIPT_FILENAME html$SCRIPT_FILE_NAME;設定參數             include fastcgi_params; //匯入fastcgi參數設定檔,該檔案在nginx安裝時自動產生。                   }
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.