Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

LNMP 環境使用 W3 Total Cache

這次參考了〈LNMP之WordPress的配置和優化〉(簡體中文)的內容,幫客戶的網站重新設定 W3 Total Cache 的一些細節。

問題

在開心設定完 W3 Total Cache 之後,發現 Page Speed Insights 上,針對快取的檢查,並沒有特別的改變。本來透過 W3 Total Cache 自動產生的最小化 CSS 檔在檢查時也出現 404 的錯誤。

關鍵

LNMP (Linux + Nginx + MySQL + PHP) 環境與 Apache 的建置環境不太一樣,在 Apache 的環境下,系統會去偵測 .htaccess 檔案內的設定,然而在 Nginx 中,覆寫 (rewrite) 的功能則要到個別 vhost 的設定檔中 (例如 /path/to/vhost/config/vhostname.conf) 進行調整。

因此在使用 LNMP 作為 WordPress 主機環境時,必須將 W3 Total Cache 自動生成的 nginx.conf 檔案載入 vhostname.conf 中,才能使外掛的設定能夠正確運作。

實際步驟

一、安裝 W3 Total Cache 外掛

二、設定 wp-content 資料夾的存取權限,確保 W3 Total Cache 能夠將快取的檔案儲存在 wp-content/cache 中。

# chmod 755 /var/www/vhosts/domain.com/httpdocs/wp-content/

三、開啟 vhostname.conf 設定檔,將 W3 Total Cache 建立的 nginx.conf 連結到設定檔中。

# vim /path/to/vhost/config/vhostname.conf
server {
  ...
  include /var/www/vhosts/domain.com/httpdocs/nginx.conf;
  ...
}
// 測試 nginx 設定正常
# nginx -t
// 重新啟動 nginx
# sudo service nginx restart

總結

其實在觀念上並不困難,不過未來在建置主機環境的時候,如果需要安裝 W3 Total Cache 這個外掛時,需要自我提醒一下,記得要調整 nginx 設定檔。

預設圖片
Eric Chuang

正職是廣告行銷人員,因為 Google Tag Manager 的關係開始踏入網站製作的領域,進一步把 WordPress 當成 PHP + HTML + CSS + JavaScript 的學習教材。此外,因為工作的關係,曾經用 Automattic 的 Underscores (_s) 替客戶與公司官網進行全客製化佈景主題開發。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料