現在位置: 首頁 > CentOS篇 > 正文

CentOS 6 安裝 Nginx Cache Reverse Proxy + Purge plugin

前一篇有安裝過 Nginx Reverse Proxy 在此篇將加入 Cache 機制,可以將一些靜態檔案快取在前端的 Nginx Reverse Proxy,加快使用者在抓取靜態檔案時的回應速度,也可以降低後端伺服器的 Loading

 

Nginx Cache Reverse Proxy 也可以廣泛用在最近盛行的 CDN 上面,佈署於離使用者最近的機房地區,讓使用者有最快的回應速度

 

此篇會替 Nginx 加入 ngx_cache_purge 模組,這個模組可以讓管理者手動清除已被快取的檔案,由於 Nginx 是採用靜態編譯的方式,不能像 Apache 用設定檔去動態加入模組,所以此篇會重新將 Nginx 編譯

 

當然,不需要讓 開發人員 清除快取的人就直接忽略編譯 ngx_cache_purge 的那一段。

也可以到 cache 目錄將檔案清除即可。

 

安裝 Nginx Cache Reverse Proxy + Purge Plugin

 

step1. 下載 Nginx + Purge 並編譯安裝

如果有其他需要的模組請再自行加入,如 mp4 , gzip .. ,然後把一些 temp 目錄都指向到 /var/tmp/nginx 統一整理

 

 

step2. 設定 proxy cache 參數

  • proxy_temp_path 用來存放臨時 temp 檔案
  • proxy_cache_path 是放 cache 檔案的地方
  • proxy_temp_path、proxy_cache_path 兩個目錄不可以跨 partitions,並且要有 nginx 寫入權限
  • key_zone 是 cache 名稱定義,作為 server {} 引用,可在記憶體快取 200M 空間
  • inactive 快取有效時間,超過即刪除。
  • max_size 占用硬碟快取空間 30G

上面的參數都依照每台主機的狀況再做調整,如 memory cache、disk cache

 

 

step3. 設定 server {} 設定檔,加入 cache 參數

Reverse Proxy 設定方式參考上一篇 Nginx Reverse Proxy 設定

 

Purge 模組

  • /purge 提供 開發人員 刪除的路徑,允許本機和 192.168.121.0/24 存取
  • proxy_cache_purge 引用 keys_zone one

 

Cache 參數

  • 宣告要 cache 的項目 html|htm|jpg|png|gif|jpeg|js|css
  • proxy_cache_valid 針對 status code 分類快取存活的時間
  • 加入 add_header $upstream_cache_status,讓 HTTP Header 加入一項 cache 狀態

 

 

step4. 測試

先測試 Proxy 反向代理成功,順利瀏覽網站

瀏覽網站後就會有 cache 檔案存到 /var/nginx/cache,在裡面應該會有 0-9 a-z 排序的 cache 目錄表示檔案已經 cache 進來了。

 

再來測試 Purge 模組

例如有更新某個圖檔位於 http://shazi.info/test.jpg

在網址打上 http://shazi.info/purge/test.jpg 就可以看到 Successful purge 代表刪除快取檔案成功!

2015-05-07_001540

 

 

到這邊 Nginx Reverse Proxy Cache 已經設定完成了

 

 

由於在 step3 有加入 header 參數 $upstream_cache_status

所以最後要再來驗證一下 header 是否有正常顯示

 

HIT 代表有 cache 到該檔案,是由 Proxy Response 給 user 的

 

$upstream_cache_status 也可以加到 log,方便直接在 Log 查看或是進行統計

 

 

 

也有其他狀態,可參考以下官網資訊

nginx #upstream_cache_status 

 

 

 

文章連結: https://shazi.info/centos-6-%e5%ae%89%e8%a3%9d-nginx-cache-reverse-proxy-purge-plugin/ | Mr. 沙先生

該文章由 shazi7804 於2015年05月07日發表在 CentOS篇 分類下, 你可以發表回文,並在保留原文地址及作者的情况下引用到你的網站或部落格。
原文轉載請註明: CentOS 6 安裝 Nginx Cache Reverse Proxy + Purge plugin | Mr. 沙先生
標籤: , , ,

CentOS 6 安裝 Nginx Cache Reverse Proxy + Purge plugin:給Mr.沙先生一點建議

發表回文