之前講過nginx的正向**和反向**,但是對於我們yum源**,這肯定是不夠的,最好是要能快取資源。畢竟yum源的東西大部分都是靜態資源,不會改變,如果能快取這些資源,不僅能加快使用者對資源的獲取,另一方面也減少了出口流量和頻寬。這其實也就是cdn的初衷了。
接下來就來說說nginx的快取配置。不多說,直接上配置。
proxy_cache_path /cache/nginx/cache levels=
1:2 keys_zone=yum:500m inactive=
1000d max_size=
80g;
server
}
其中,
proxy_cache_path表示系統快取檔案路徑,該路徑必須要先建立,才能使用,否則nginx啟動會失敗
levels設定快取檔案目錄層次,levels=1:2 表示兩級目錄
keys_zone設定快取名字和快取共享記憶體大小
inactive在指定時間內沒人訪問則被刪除,預設是10min,這裡設定為1000d,就是這麼豪放,其實後面完全都可以取而代之,作為yum源了
max_size最大快取空間,如果快取空間滿,預設覆蓋掉快取時間最長的資源
proxy_cache使用名為yum的對應快取配置,與上面keys_zone設定的名字要一致
proxy_cache_valid對指定http狀態碼的響應進行快取時間設定,這裡過期時間也設定為1000d,能用就用,就不要再回源校驗了
proxy_ignore_headers忽略源站http響應的某個頭部字段,這裡忽略的三個欄位是為了保證快取不過期,靜態資源,沒必要過期
proxy_hide_header設定本端伺服器與源站互動時不使用某個字段,同樣也是為了保證快取不過期
proxy_pass設定我們要**的伺服器位址,即源站位址
其中,
private:指示對於單個使用者的整個或部分響應訊息,不能被共享快取處理,只能用快取內容回應先前請求該內容的那個使用者
no-cache:指示請求或響應訊息不能快取,實際上是可以儲存在本地快取區中的,只是在與原始伺服器進行新鮮度驗證之前,快取不能將其提供給客戶端使用,也就是donot-serve-from-cache-without-revalidation
no-store:快取應該盡快從儲存器中刪除文件的所有痕跡,因為其中可能會包含敏感資訊
另外,pragma:用來包含實現特定的指令,最常用的是pragma:no-cache。在http/1.1協議中,它的含義和cache- control:no-cache相同。
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...
Nginx快取配置實戰
快取配置說明 先來了解一下proxy cache快取系統的基本配置,如下所示 upstream test servers 設定快取空間的名字及其存放路徑和存放方式 proxy cache path path cache nginxcache levels 1 2 keys zone cachedat...