ngnix——FastCGI 相關參數調優

  • 時間:2018-08-26 23:05 作者:強扭的瓜不好吃 來源:強扭的瓜不好吃 閱讀:311
  • 掃一掃,手機訪問
摘要:當 LNMP 組合工作時,首先是使用戶通過瀏覽器輸入域名請求 Nginx Web 服務,假如請求的是靜態資源,則由 Nginx 解析返回給使用戶;假如是動態請求(如 PHP),那么 Nginx 就會把它通過 FastCGI 接口發送給 PHP 引擎服務(即 php-fpm)進行解析,假如這個動態請求

當 LNMP 組合工作時,首先是使用戶通過瀏覽器輸入域名請求 Nginx Web 服務,假如請求的是靜態資源,則由 Nginx 解析返回給使用戶;假如是動態請求(如 PHP),那么 Nginx 就會把它通過 FastCGI 接口發送給 PHP 引擎服務(即 php-fpm)進行解析,假如這個動態請求要讀取數據庫數據,那么 PHP 就會繼續向后請求 MySQL 數據庫,以讀取需要的數據,并最終通過 Nginx 服務把獲取的數據返回給使用戶,這就是 LNMP 環境的基本請求流程。?FastCGI 詳情:CGI 通使用網關接口,是 HTTP 服務器與其余機器上的程序服務通信交流的一種工具,CGI 接口的性能較差,每次 HTTP 服務器遇到動態程序時都需要重新啟動解析器來執行解析,之后結果才會被返回 HTTP 服務器,因而就有了 FastCGI ,FastCGI 是一個在 HTTP 服務器和動態腳本語言間通信的接口,主要是把動態語言和 HTTP 服務器分離開來,使得 HTTP 服務器專一地解決靜態請求,提高整體性能,在 Linux 下,FastCGI 接口即為 socket ,這個 socket 可以是文件 socket 也可以是 IP socket

worker_processes 1;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

fastcgi_connect_timeout 240; # Nginx服務器和后臺FastCGI服務器連接的超時時間

fastcgi_send_timeout 240; # Nginx允許FastCGI服務器返回數據的超時時間,即在規定時間內后臺服務器必需傳完所有的數據,否則Nginx將斷開這個連接

fastcgi_read_timeout 240; # Nginx從FastCGI服務器讀取響應信息的超時時間,表示連接建立成功后,Nginx等待后臺服務器的響應時間

fastcgi_buffer_size 64k; # Nginx FastCGI 的緩沖區大小,使用來讀取從FastCGI服務器端收到的第一部分響應信息的緩沖區大小

fastcgi_buffers 4 64k; # 設定使用來讀取從FastCGI服務器端收到的響應信息的緩沖區大小和緩沖區數量

fastcgi_busy_buffers_size 128k; # 使用于設置系統很忙時可以用的 proxy_buffers 大小

fastcgi_temp_file_write_size 128k; # FastCGI 臨時文件的大小

# fastcti_temp_path /data/ngx_fcgi_tmp; # FastCGI 臨時文件的存放路徑

fastcgi_cache_path /data/ngx_fcgi_cache levels=2:2 keys_zone=ngx_fcgi_cache:512m inactive=1d max_size=40g; # 緩存目錄

server {

listen 80;

server_name www.abc.com;

location / {

root html/www;

index index.html index.htm;

}

location ~ .*\.(php|php5)?$ {

root html/www;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi.conf;

fastcgi_cache ngx_fcgi_cache; # 緩存FastCGI生成的內容,比方PHP生成的動態內容

fastcgi_cache_valid 200 302 1h; # 指定http狀態碼的緩存時間,這里表示將200和302緩存1小時

fastcgi_cache_valid 301 1d; # 指定http狀態碼的緩存時間,這里表示將301緩存1天

fastcgi_cache_valid any 1m; # 指定http狀態碼的緩存時間,這里表示將其余狀態碼緩存1分鐘

fastcgi_cache_min_uses 1; # 設置請求幾次之后響應被緩存,1表示一次即被緩存

fastcgi_cache_use_stale error timeout invalid_header http_500; # 定義在哪些情況下用過期緩存

fastcgi_cache_key http://$host$request_uri; # 定義 fastcgi_cache 的 key

}

}

}

  • 全部評論(0)
最新發布的資訊信息
【系統環境|服務器應用】Discuz隱藏后臺admin.php網址修改路徑(2019-12-15 14:52)
【系統環境|服務器應用】Discuz發布帖子時默認顯示第一個主題分類的修改方法(2019-12-09 00:13)
【系統環境|軟件環境】Android | App內存優化 之 內存泄漏 要點概述 以及 處理實戰(2019-12-04 14:27)
【系統環境|軟件環境】MySQL InnoDB 事務(2019-12-04 14:26)
【系統環境|軟件環境】vue-router(單頁面應用控制中心)常見用法(2019-12-04 14:26)
【系統環境|軟件環境】Linux中的Kill命令(2019-12-04 14:26)
【系統環境|軟件環境】Linux 入門時必學60個文件解決命令(2019-12-04 14:26)
【系統環境|軟件環境】更新版ThreeJS 3D粒子波浪動畫(2019-12-04 14:26)
【系統環境|軟件環境】前臺開發WebStorm常用快捷鍵,火速收藏!(2019-12-04 14:25)
【系統環境|軟件環境】微博H5登錄和發微博組件(2019-12-04 14:25)
手機二維碼手機訪問領取大禮包
返回頂部
3d开机号查询