国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx內容緩存以及常見參數配置詳析

2024-08-30 12:24:24
字體:
來源:轉載
供稿:網友

使用場景:

項目的頁面需要加載很多數據,也不是經常變化的,不涉及個性化定制,為每次請求去動態生成數據,性能比不上根據請求路由和參數緩存一下結果,使用 Nginx 緩存將大幅度提升請求速度。

基礎

只需要配置 proxy_cache_path 和 proxy_cache 就可以開啟內容緩存,前者用來設置緩存的路徑和配置,后者用來啟用緩存。

http { ... proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; server { proxy_cache mycache; location / {  proxy_pass http://localhost:8000; } }}

對應參數說明:

1.用于緩存的本地磁盤目錄是 /path/to/cache/

2.levels 在 /path/to/cache/ 設置了一個兩級層次結構的目錄。將大量的文件放置在單個目錄中會導致文件訪問緩慢,所以針對大多數部署,我們推薦使用兩級目錄層次結構。如果 levels 參數沒有配置,則 NGINX 會將所有的文件放到同一個目錄中。

3.keys_zone 設置一個共享內存區,該內存區用于存儲緩存鍵和元數據,有些類似計時器的用途。將鍵的拷貝放入內存可以使 NGINX 在不檢索磁盤的情況下快速決定一個請求是 HIT 還是 MISS,這樣大大提高了檢索速度。一個 1MB 的內存空間可以存儲大約 8000 個 key,那么上面配置的 10MB 內存空間可以存儲差不多 80000 個key。

4.max_size 設置了緩存的上限(在上面的例子中是 10G)。這是一個可選項;如果不指定具體值,那就是允許緩存不斷增長,占用所有可用的磁盤空間。當緩存達到這個上線,處理器便調用 cache manager 來移除最近最少被使用的文件,這樣把緩存的空間降低至這個限制之下。

5.inactive 指定了項目在不被訪問的情況下能夠在內存中保持的時間。在上面的例子中,如果一個文件在 60 分鐘之內沒有被請求,則緩存管理將會自動將其在內存中刪除,不管該文件是否過期。該參數默認值為 10 分鐘(10m)。注意,非活動內容有別于過期內容。NGINX 不會自動刪除由緩存控制頭部指定的過期內容(本例中Cache-Control:max-age=120)。過期內容只有在 inactive 指定時間內沒有被訪問的情況下才會被刪除。如果過期內容被訪問了,那么 NGINX 就會將其從原服務器上刷新,并更新對應的 inactive 計時器。

6.NGINX 最初會將注定寫入緩存的文件先放入一個臨時存儲區域, use_temp_path=off 命令指示 NGINX 將在緩存這些文件時將它們寫入同一個目錄下。我們強烈建議你將參數設置為 off 來避免在文件系統中不必要的數據拷貝。use_temp_path 在 NGINX1.7 版本和 NGINX Plus R6 中有所介紹。

最終,proxy_cache 命令啟動緩存那些 URL 與 location 部分匹配的內容(本例中,為/)。你同樣可以將 proxy_cache 命令添加到 server 部分,這將會將緩存應用到所有的那些 location 中未指定自己的 proxy_cache 命令的服務中。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 上高县| 信丰县| 台安县| 延吉市| 灵璧县| 普兰店市| 淮南市| 土默特左旗| 蛟河市| 白山市| 洪江市| 巴彦淖尔市| 醴陵市| 云龙县| 那曲县| 溆浦县| 阜新市| 马公市| 博客| 九江县| 昌黎县| 营山县| 曲阜市| 晋中市| 永仁县| 上杭县| 广西| 扬中市| 墨玉县| 隆林| 泾源县| 灌云县| 临海市| 正镶白旗| 南漳县| 延寿县| 炉霍县| 溆浦县| 辉南县| 宣化县| 岱山县|