天天看點

Nginx 之fastcgi常用配置項說明

在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

繼續閱讀