Nginx使用教程(五):使用Nginx緩存之緩存靜態(tài)內(nèi)容
2017-03-01 00:05:56
21543
Nginx使用教程(五):使用Nginx緩存之緩存靜態(tài)內(nèi)容
NGINX雖然已經(jīng)對(duì)靜態(tài)內(nèi)容做過(guò)優(yōu)化。 但在高流量網(wǎng)站的情況下,仍然可以使用open_file_cache進(jìn)一步提高性能。 NGINX緩存將最近使用的文件描述符和相關(guān)元數(shù)據(jù)(如修改時(shí)間,大小等)存儲(chǔ)在緩存中。 緩存不會(huì)存儲(chǔ)所請(qǐng)求文件的內(nèi)容。
open_file_cache
啟用此指令將存儲(chǔ)以下信息的緩存:
打開(kāi)的文件描述符和相關(guān)元數(shù)據(jù),如大小,修改時(shí)間等
文件和目錄的存在
與查找相關(guān)的任何錯(cuò)誤,例如“權(quán)限被拒絕”,“文件未找到”等
緩存定義固定大小,并且在溢出期間,它移除最近最少使用(LRU)元素。 緩存在一段時(shí)間不活動(dòng)之后逐出元素。 默認(rèn)情況下禁用該指令。 如下例子:
http{
open_file_cache max=1000 inactive=20s;
}
在上述配置中,為1,000個(gè)元素定義了一個(gè)緩存。 inactive參數(shù)配置到期?間為20秒。 沒(méi)有必要為該指令設(shè)置非活動(dòng)時(shí)間段,默認(rèn)情況下,非活動(dòng)時(shí)間段為60秒。
NGINX還定義了一些相關(guān)的指令,可用于在錯(cuò)誤和有效性檢查期間配置open_file_cache的行為。
open_file_cache_valid
NGINX的open_file_cache保存信息的快照。 ?于信息在源處更改,快照可能在一段時(shí)間后無(wú)效。 open_file_ cache_valid指令定義時(shí)間段(以秒為單位),之后將重新驗(yàn)證open_file_cache中的元素。 如下例子:
http{
open_file_cache_valid 30s;
}
默認(rèn)情況下,60秒后重新檢查元素。
open_file_cache_min_uses
NGINX將在非活動(dòng)時(shí)間段之后從高速緩存中清除元素。 此指令可用于配置最小訪問(wèn)次數(shù)以將元素標(biāo)記為活動(dòng)使用。 默認(rèn)情況下,最小訪問(wèn)次數(shù)設(shè)置為1次或更多次。如下例子
http{
open_file_cache_min_uses 4;
}
open_file_cache_errors
如前所述,NGINX可以緩存在文件訪問(wèn)期間發(fā)生的錯(cuò)誤。 但是這需要通過(guò)設(shè)置open_file_cache_errors指令來(lái)啟用。 如果啟用錯(cuò)誤緩存,則在訪問(wèn)資源(不查找資源)時(shí),NGINX會(huì)報(bào)告相同的錯(cuò)誤。
http{
open_file_cache_errors on;
}
默認(rèn)情況下,錯(cuò)誤緩存設(shè)置為關(guān)閉。
會(huì)員登錄
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)