在LNMP環境中,我們都知道nginx如果要解析php腳本語言,就必須通過配置fastcgi子產品來提供對php支援,那麼在配置fastcgi的時候,關于fastcgi配置項的值應該怎麼設定才能讓其發揮出更出色的性能呢,下面就講講關于nginx子產品中fastcgi這部分通用參數介紹
1.1 fastcgi_connect_timeout
配置文法: fastcgi_connect_timeout 時間(機關為s)
預設值: fastcgi_connect_timeout 60s
配置區域: http server location
配置項說明: 指定nginx與後端fastcgi server連接配接逾時時間
1.2 fastcgi_send_timeout
配置文法: fastcgi_send_timeout 時間(機關為s)
預設值: fastcgi_send_timeout 60s;
配置項說明:指定nginx向後端傳送請求逾時時間(指已完成兩次握手後向fastcgi傳送請求逾時時間)
1.3 fastcgi_read_timeout
配置文法: fastcgi_read_timeout 時間(機關為s)
預設值: fastcgi_send_timeout 60s;
配置項說明:指定nginx接受後端fastcgi響應請求逾時時間 (指已完成兩次握手後nginx接受fastcgi響應請求逾時時間)
1.4 fastcgi_buffer_size
配置文法: fastcgi_buffer_size size (機關為k,一般為4的整數倍)
預設值: fastcgi_buffer_size 4k|8K
配置項說明:指定nginx讀取fastcgi響應第一部分需要用多大的緩沖區,這個值表示将使用一個64kb的緩沖區響應第一部分應答(應答頭)可以設定為fastcgi_buffers緩存區大小
1.5 fastcgi_buffers
配置文法: fastcgi_buffers num size (機關為k,一般為4的整數倍)
預設值: fastcgi_buffers 8 4k|8K
配置項說明: 指nginx需要用多大的緩沖區緩沖fastcgi的應答請求(整個應答),如果一個php腳本所産生的頁面大小為256kb,那麼會配置設定4個64kb緩沖區來緩存,如果頁面大于256kb,那麼大于256kb的部分會緩存到fastcgi_temp指定的路徑中,但是因為記憶體中資料處理遠快于磁盤, 是以這個值應該為站點中php所産生的頁面大小的中間值, 如果站點大部分php腳本産生的頁面為:256kb, 那麼可以設定成成"8 16k 4 64k"
1.6 fastcgi_busy_buffers_size
配置文法:fastcgi_busy_buffers_size size (機關為K,一般為fastcgi_buffers值的2倍)
預設值: fastcgi_busy_buffers 8k|16K
配置項說明:整個資料請求需要多大的緩存區,建議設定為fastcgi_buffers值的兩倍
1.7 fastcgi_temp_file_write_size
配置文法:fastcgi_temp_file_write_size size (機關為K,一般為fastcgi_buffers值的兩倍)
預設值: fastcgi_temp_file_write_size 8k|16K
配置項說明:寫入緩存檔案使用多大的資料塊,預設值是fastcgi_buffer值的2倍
1.8 fastcgi_temp_path
配置文法:fastcgi_temp_path path (臨時檔案存放路徑)
配置項說明:fastcgi臨時檔案存放路徑
注:不過這一配置項常常不會用到
1.9 fastcgi_cache_path
配置文法:fastcgi_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size] [loader_files=number] [loader_sleep=time] [loader_threshold=time] [purger=on|off] [purger_files=number] [purger_sleep=time] [purger_threshold=time];
配置項說明:定義fastcgi緩存的路徑及其他設定
1.10 fastcgi_cache
配置文法:fastcgi_cache zone |off (其中zone對應fastcgi_cache_path 中zone名稱)
預設值: fastcgi_cache off
配置區域: http ,server, location
配置項說明:開啟fastcgi_cache并為其定義一個名稱,可以防止nginx 502錯誤,降低cpu負載,不過也會引起其他問題,根據需求來選擇
1.11 fastcgi_cache_valid
配置文法:fastcgi_cache_valid {code} time
配置項說明:為指定的應答代碼指定緩存時間
例如
fastcgi_cache_valid 200 302 1h; fastcgi_cache_valid any 1m;
上面意思就是對于狀态碼為200 302的網頁緩存1小時,其他頁面緩存1分鐘
1.12 fastcgi_cache_key
配置文法:fastcgi_cache_key value
配置項說明:以某個值為key,Nginx會取這個key的md5作為緩存檔案 如果設定了緩存哈希目錄,Nginx會從後往前取相應的位數做為目錄
例如:
fastcgi_cache_key "\(request_method://\)host$request_uri";
1.13 fastcgi_cache_min_uses
配置文法:fastcgi_cache_min_uses
配置項說明:URL至少經過多少次請求将被緩存
1.14 fastcgi_cache_use_stale
配置文法:fastcgi_cache_use_stale error | timeout | invalid_header | updating | http_500 | http_503 |http_403 | http_404 | off ...;
預設值: fastcgi_cache_use_stale off
配置項說明:對一些錯誤提示code,nginx會使用到fast_cache緩存
以上就是nginx fastcgi子產品的一些基本配置參數說明,如想要仔細了解關于nginx的反向代理相關設定請通路
http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html