在LNMP環(huán)境中,我們都知道nginx如果要解析php腳本語言,就必須通過配置fastcgi模塊來提供對php支持,那么在配置fastcgi的時(shí)候,關(guān)于fastcgi配置項(xiàng)的值應(yīng)該怎么設(shè)置才能讓其發(fā)揮出更出色的性能呢,下面就講講關(guān)于nginx模塊中fastcgi這部分通用參數(shù)介紹 1.1 fastcgi_connect_timeout 配置語法: fastcgi_connect_timeout 時(shí)間(單位為s) 默認(rèn)值: fastcgi_connect_timeout 60s 配置區(qū)域: http server location 配置項(xiàng)說明: 指定nginx與后端fastcgi server連接超時(shí)時(shí)間 1.2 fastcgi_send_timeout 配置語法: fastcgi_send_timeout 時(shí)間(單位為s) 默認(rèn)值: fastcgi_send_timeout 60s; 配置區(qū)域: http server location 配置項(xiàng)說明:指定nginx向后端傳送請求超時(shí)時(shí)間(指已完成兩次握手后向fastcgi傳送請求超時(shí)時(shí)間) 1.3 fastcgi_read_timeout 配置語法: fastcgi_read_timeout 時(shí)間(單位為s) 默認(rèn)值: fastcgi_send_timeout 60s; 配置區(qū)域: http server location 配置項(xiàng)說明:指定nginx接受后端fastcgi響應(yīng)請求超時(shí)時(shí)間 (指已完成兩次握手后nginx接受fastcgi響應(yīng)請求超時(shí)時(shí)間) 1.4 fastcgi_buffer_size 配置語法: fastcgi_buffer_size size (單位為k,一般為4的整數(shù)倍) 默認(rèn)值: fastcgi_buffer_size 4k|8K 配置區(qū)域: http server location 配置項(xiàng)說明:指定nginx讀取fastcgi響應(yīng)第一部分需要用多大的緩沖區(qū),這個(gè)值表示將使用一個(gè)64kb的緩沖區(qū)響應(yīng)第一部分應(yīng)答(應(yīng)答頭)可以設(shè)置為fastcgi_buffers緩存區(qū)大小 1.5 fastcgi_buffers 配置語法: fastcgi_buffers num size (單位為k,一般為4的整數(shù)倍) 默認(rèn)值: fastcgi_buffers 8 4k|8K 配置區(qū)域: http server location 配置項(xiàng)說明: 指nginx需要用多大的緩沖區(qū)緩沖fastcgi的應(yīng)答請求(整個(gè)應(yīng)答),如果一個(gè)php腳本所產(chǎn)生的頁面大小為256kb,那么會(huì)分配4個(gè)64kb緩沖區(qū)來緩存,如果頁面大于256kb,那么大于256kb的部分會(huì)緩存到fastcgi_temp指定的路徑中,但是因?yàn)閮?nèi)存中數(shù)據(jù)處理遠(yuǎn)快于磁盤, 所以這個(gè)值應(yīng)該為站點(diǎn)中php所產(chǎn)生的頁面大小的中間值, 如果站點(diǎn)大部分php腳本產(chǎn)生的頁面為:256kb, 那么可以設(shè)置成成"8 16k 4 64k" 1.6 fastcgi_busy_buffers_size 配置語法:fastcgi_busy_buffers_size size (單位為K,一般為fastcgi_buffers值的2倍) 默認(rèn)值: fastcgi_busy_buffers 8k|16K 配置區(qū)域: http server location 配置項(xiàng)說明:整個(gè)數(shù)據(jù)請求需要多大的緩存區(qū),建議設(shè)置為fastcgi_buffers值的兩倍 1.7 fastcgi_temp_file_write_size 配置語法:fastcgi_temp_file_write_size size (單位為K,一般為fastcgi_buffers值的兩倍) 默認(rèn)值: fastcgi_temp_file_write_size 8k|16K 配置區(qū)域: http server location 配置項(xiàng)說明:寫入緩存文件使用多大的數(shù)據(jù)塊,默認(rèn)值是fastcgi_buffer值的2倍 1.8 fastcgi_temp_path 配置語法:fastcgi_temp_path path (臨時(shí)文件存放路徑) 配置區(qū)域: http server location 配置項(xiàng)說明:fastcgi臨時(shí)文件存放路徑 注:不過這一配置項(xiàng)常常不會(huì)用到 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]; 配置區(qū)域: http server location 配置項(xiàng)說明:定義fastcgi緩存的路徑及其他設(shè)置 1.10 fastcgi_cache 配置語法:fastcgi_cache zone |off (其中zone對應(yīng)fastcgi_cache_path 中zone名稱) 默認(rèn)值: fastcgi_cache off 配置區(qū)域: http ,server, location 配置項(xiàng)說明:開啟fastcgi_cache并為其定義一個(gè)名稱,可以防止nginx 502錯(cuò)誤,降低cpu負(fù)載,不過也會(huì)引起其他問題,根據(jù)需求來選擇 1.11 fastcgi_cache_valid 配置語法:fastcgi_cache_valid {code} time 配置區(qū)域: http server location 配置項(xiàng)說明:為指定的應(yīng)答代碼指定緩存時(shí)間 例如 fastcgi_cache_valid 200 302 1h; 上面意思就是對于狀態(tài)碼為200 302的網(wǎng)頁緩存1小時(shí),其他頁面緩存1分鐘 1.12 fastcgi_cache_key 配置語法:fastcgi_cache_key value 配置區(qū)域: http server location 配置項(xiàng)說明:以某個(gè)值為key,Nginx會(huì)取這個(gè)key的md5作為緩存文件 如果設(shè)置了緩存哈希目錄,Nginx會(huì)從后往前取相應(yīng)的位數(shù)做為目錄 例如: fastcgi_cache_key "$request_method://$host$request_uri"; 1.13 fastcgi_cache_min_uses 配置區(qū)域: http server location 配置項(xiàng)說明:URL至少經(jīng)過多少次請求將被緩存 1.14 fastcgi_cache_use_stale 配置語法:fastcgi_cache_use_stale error | timeout | invalid_header | updating | http_500 | http_503 |http_403 | http_404 | off ...; 默認(rèn)值: fastcgi_cache_use_stale off 配置區(qū)域: http server location 配置項(xiàng)說明:對一些錯(cuò)誤提示code,nginx會(huì)使用到fast_cache緩存 以上就是nginx fastcgi模塊的一些基本配置參數(shù)說明,如想要仔細(xì)了解關(guān)于nginx的反向代理相關(guān)設(shè)置請?jiān)L問http:///en/docs/http/ngx_http_fastcgi_module.html |
|