在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;
配置區域: http server location
配置項說明:指定nginx向后端傳送請求超時時間(指已完成兩次握手后向fastcgi傳送請求超時時間)
1.3 fastcgi_read_timeout
配置語法: fastcgi_read_timeout 時間(單位為s)
默認值: fastcgi_send_timeout 60s;
配置區域: http server location
配置項說明:指定nginx接受后端fastcgi響應請求超時時間 (指已完成兩次握手后nginx接受fastcgi響應請求超時時間)
1.4 fastcgi_buffer_size
配置語法: fastcgi_buffer_size size (單位為k,一般為4的整數倍)
默認值: fastcgi_buffer_size 4k|8K
配置區域: http server location
配置項說明:指定nginx讀取fastcgi響應第一部分需要用多大的緩沖區,這個值表示將使用一個64kb的緩沖區響應第一部分應答(應答頭)可以設置為fastcgi_buffers緩存區大小
1.5 fastcgi_buffers
配置語法: fastcgi_buffers num size (單位為k,一般為4的整數倍)
默認值: fastcgi_buffers 8 4k|8K
配置區域: http server location
配置項說明: 指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
配置區域: http server location
配置項說明:整個數據請求需要多大的緩存區,建議設置為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
配置區域: http server location
配置項說明:寫入緩存文件使用多大的數據塊,默認值是fastcgi_buffer值的2倍
1.8 fastcgi_temp_path
配置語法:fastcgi_temp_path path (臨時文件存放路徑)
配置區域: http server location
配置項說明: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];
配置區域: http server location
配置項說明:定義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
配置區域: http server location
配置項說明:為指定的應答代碼指定緩存時間
例如
fastcgi_cache_valid 200 302 1h; fastcgi_cache_valid any 1m;
上面意思就是對於狀態碼為200 302的網頁緩存1小時,其他頁面緩存1分鍾
1.12 fastcgi_cache_key
配置語法:fastcgi_cache_key value
配置區域: http server location
配置項說明:以某個值為key,Nginx會取這個key的md5作為緩存文件 如果設置了緩存哈希目錄,Nginx會從后往前取相應的位數做為目錄
例如:
fastcgi_cache_key "\(request_method://\)host$request_uri";
1.13 fastcgi_cache_min_uses
配置語法:fastcgi_cache_min_uses
配置區域: http server location
配置項說明: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
配置區域: http server location
配置項說明:對一些錯誤提示code,nginx會使用到fast_cache緩存
以上就是nginx fastcgi模塊的一些基本配置參數說明,如想要仔細了解關於nginx的反向代理相關設置請訪問
http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html