Nginx快取配置實戰

2021-10-07 10:53:38 字數 1859 閱讀 9852

快取配置說明

先來了解一下proxy_cache快取系統的基本配置,如下所示;

upstream test_servers 

# 設定快取空間的名字及其存放路徑和存放方式

proxy_cache_path /path/cache/nginxcache levels=1:

2 keys_zone=cachedata:

10m max_size=

10g inactive=

60m use_temp_path=off;

server

}

下面對proxy_cache相關配置說明如下

(1).proxy_cache_path

levels 代表快取的目錄結構,如levels=1:2表示目錄有兩級

key_zone 用來設定快取空間的名字和大小;如 keys_zone=cachedata:100m,表示快取名是 cachedata ,最多可以存放100mb的快取資訊

max_size 最大cache空間,如果不指定,會使用掉所有disk space,當達到配額後,會刪除最少使用的cache檔案

inactive 未被訪問檔案在快取中保留時間,本配置中如果60分鐘未被訪問則不論狀態是否為expired,快取控制程式會刪掉檔案。inactive預設是10分鐘。需要注意的是,inactive和expired配置項的含義是不同的,expired只是快取過期,但不會被刪除,inactive是刪除指定時間內未被訪問的快取檔案

use_temp_path 如果為off,則nginx會將快取檔案直接寫入指定的cache檔案中,而不是使用temp_path儲存,official建議為off,避免檔案在不同檔案系統中不必要的拷貝

(2).proxy_cache

啟用proxy cache,並指定key_zone。另外,如果proxy_cache off表示關閉掉快取。

(3).proxy_cache_valid

根據狀態碼來定義快取的有效時間,支援多行配置,支援不同狀態碼配置不同的有效期

(4).proxy_cache_key

給快取資料定義乙個鍵,例如:

proxy_cache_key 「$host$request_uri $cookie_user」;
預設情況下,該指令的值的字串

proxy_cache_key $scheme$proxy_host$uri$is_args$args;
(5).proxy_convert_head

如果設定為 on 表示允許將請求的head 方法改為 get 方法進行快取;如果設定為 off ,則快取的 key 需要加上 $request_method ,即:

$host$request_rui$request_method
(6).proxy_cache_methods

指定可以被快取的請求方法,預設值為 get head

(7).proxy_cache_methods

設定 key 在被快取前被訪問的次數,預設是1次

Nginx 快取配置

之前講過nginx的正向 和反向 但是對於我們yum源 這肯定是不夠的,最好是要能快取資源。畢竟yum源的東西大部分都是靜態資源,不會改變,如果能快取這些資源,不僅能加快使用者對資源的獲取,另一方面也減少了出口流量和頻寬。這其實也就是cdn的初衷了。接下來就來說說nginx的快取配置。不多說,直接上...

Nginx 快取配置

header 說明expires 快取過期的日期和時間 cache control 設定和快取相關的配置資訊 last modified 請求資源最後修改時間 etag 請求變數的實體標籤的當前值,比如檔案的md5值 1 使用者首次通過瀏覽器傳送請求到服務端獲取資料,客戶端是沒有對應的快取,所以需要...

nginx快取配置例項

proxy buffer size 4k 設定 伺服器 nginx 儲存使用者頭資訊的緩衝區大小 proxy buffers 4 32k proxy buffers緩衝區,網頁平均在32k以下的設定 proxy busy buffers size 64k 高負荷下緩衝大小 proxy buffers...