MIS 腳印 logo

MIS 腳印

記錄 IT 學習的軌跡

NGINX FastCGI Cache 快取結合 WordPress 外掛 NGINX Helper 清除快取

設定 WordPress 的 NGINX FastCGI Cache 快取,並結合 WordPress 外掛 NGINX Helper 的快取清除條件搭配 NGINX ngx_cache_purge 模組,來達到新增發佈、修改文章/頁面等動作自動清除網頁頁面快取。

WordPress.ORG

NGINX FastCGI Cache 快取

建立 FastCGI Cache 目錄

建立存放 FastCGI Cache 快取檔案的目錄,並將目錄擁有者設定為 NGINX 的執行帳戶 (如 nginx):

mkdir /run/nginx-cache
chown nginx:nginx /run/nginx-cache

設定 FastCGI Cache

請參考 NGINX 設定有出現 FastCGI Cache 文字的設定。

X-Chche 網頁標頭快取狀態

由於有在【NGINX 共用設定檔 > 不快取條件】設定讓網頁加入快取表頭 X-Cache (可使用瀏覽器的【開發人員工具】查看),它會標示目前網頁的三種快取態狀如下:

  • MISS:沒有使用快取,由 PHP 產生的網頁。
  • HIT:使用快取。
  • BYPASS:該網頁不適用快取 (符合被設定在不快取條件所排除的網址,例如 WordPress 為登入狀態 or 管理頁面)。

當第一次網站首頁被瀏覽時為 x-cache: MISS 沒使用快取:

當網站首頁已被瀏覽過,這時 NGINX 已有快取,因此為 x-cache: HIT 使用快取:

WordPress 目前為登入狀態時為 x-cache: BYPASS 不適用快取:

WordPress 外掛 NGINX Helper

至 WordPress 後台安裝外掛 NGINX Helper 並啟用:

NGINX Helper 設定,設定完後請點擊最下方的【Save All Changes】:

清除快取

當符合【快取清除條件】時,就會自動清除快取了:

如要手動清除全站快取,可點擊右上方的【清除全站快取】or 上方列表的【清除快取】:

在登入狀態時也可點擊上方列表的【清除目前頁面的快取】,僅會清除目前頁面快取:

參考

發表迴響