nginx和fastcgi分離的實現以及注意問題
前言,寫此文的目的是當時在配置nginx fastcgi分離的時候(即大家所說的動靜分離),遇到檔案無法解析的情況,現記錄如此,希望有對遇到同樣情況的朋友有幫助,同時,在此感謝**運維管理群裡的「南昌‖某c」等提供的幫助。
環境
nginx 192.168.16.254:80
fastcgi 192.168.16.21:900
web頁面路徑放的位置
靜態頁面放 192.168.16.254:/usr/local/nginx/html/cacti
動態頁面放 192.168.16.21:/usr/local/nginx/html/cacti
程式版本
nginx 1.01
php 5.3.12
centos6.2
192.168.16.21
修改以下兩個引數
listen = 192.168.16.21:9000
listen.allowed_clients = 192.168.16.254
注意,php-fpm
預設是允許
any來訪問的,除用
allowed
外,可以通過防火牆來實現
192.168.16.254的
nginx.conf
配置引數如下
upstream backend 可以設定多個fastcgi伺服器這裡除了此配置方法,還有另外乙個等效的配置方法,不過只能指定乙個fastcgi伺服器
#去掉上面的紅色字部分。
location ~ \.php$
檢視web頁面目錄,目錄的位置,和
nginx.conf
的location
配置有關,此處不解釋了,可以檢視相關資料
檢視php-fpm
運**況
檢視nginx運**況
驗證php-fpm埠是否能通
訪問nginx頁面
可以看到,程式已經成功執行
注意:如果fastcgi
伺服器上面沒有放
web的
php頁面,在訪問
php頁面的時候,出現以下畫面
(此文的關鍵之處在此)
之所以出現這個情況,原因是
fastcgi負責
php的解析,當
nginx
發現訪問的檔案是
.php,
會負責把
php檔案的解析交給
fastcgi
,fastcgi
通過正確的解析,返回給
nginx
,然後提供給客戶端。
Nginx中FastCGI配置優化
fastcgi fastcgi是從cgi發展改進而來的。傳統cgi介面方式的主要缺點是效能很差,因為每次http伺服器遇到動態程式時都需要重新啟動指令碼解析器來執行解析,然後結果被返回給http伺服器。這在處理高併發訪問時,幾乎是不可用的。另外傳統的cgi介面方式安全性也很差,現在已經很少被使用了。...
Nginx中FastCGI配置優化
fastcgi fastcgi是從cgi發展改進而來的。傳統cgi介面方式的主要缺點是效能很差,因為每次http伺服器遇到動態程式時都需要重新啟動指令碼解析器來執行解析,然後結果被返回給http伺服器。這在處理高併發訪問時,幾乎是不可用的。另外傳統的cgi介面方式安全性也很差,現在已經很少被使用了。...
nginx動靜分離配置 Nginx動靜分離
動靜分離,就是將jsp servlet等動態資源交由tomcat或其他web伺服器處理,將css js image等靜態資源交由nginx或其他http伺服器處理,充分發揮各自的優勢,減輕其他伺服器的壓力,搭建更為高效的系統架構。nginx動靜分析的實現 下面要搭建nginx,環境中有三颱nginx...