這次參考了〈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 設定檔。
發佈留言