Nginx和fastcgi分離的實現以及注意問題

2021-09-22 01:20:13 字數 1917 閱讀 6087

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...