WP Rocket and NGINX 優化

WP Rocket and NGINX

rocket-nginx.conf 是一個 WP Rocket 快取外掛在 Nginx 系統上的一個配置文件,是由 maxime jobin 在 2014 年 github 上發佈。

WordPress 的快取外掛,一般都比較適合在 Apache 系統上,跑在 Nginx 上總會覺得怪怪的,效能上總是不滿意。

所以,之前可用在 Nginx 系統上的快取外掛不多,如:WP-FFPC Plugin,不然就是使用 Nginx 本身的 FastCGI Cache 或 Redis 來做 WordPress 快取,rocket-nginx.conf 出現後,的確造福了不少 Nginx 的玩家。

前幾天 4/25 日 Rocket-Nginx Configuration 2.0 釋出,他與之前的 1.8 版本最大的不同,2.0 版是可以利用 rocket-nginx.ini 文件生成 default.conf 配置檔,然後在你的 /etc/nginx/sites-available 設定中,將生成的 WP Rocket 配置檔 include 到文件中,就可以了,比之前的配置方式方便多了。

詳細的說明請見 maximejobin 的 github

WordPress 使用一個名為 wp-cron.php 的文件作為虛擬 cron 作業或計劃任務,以便自動化發佈計劃的文章,檢查外掛或主題更新,發送電子郵件通知等等。為了確保您的計劃任務正常運行,不會被 rocket-nginx 緩存方式所影響,作者建議禁用 WordPress cron 計畫任務,並創建一個真正的主機本身的 cron 作業。

VPS 主機請參考:https://goo.gl/KUwLOK

虛擬主機 cPanel 請參考:https://goo.gl/8a6B9X

如果你有安裝 UpdraftPlus 備份外掛,請勿關閉 wp-cron.php 計畫,這會造成備份失敗,站長測試 rocket-nginx 配置,其以 Nginx 產生靜態網頁,不觸發 PHP 程序,不關閉 wp-cron.php 計畫,備份任務還是可以正常啟動。

安裝 rocket-nginx 腳本 (以 EasyEngine 為例子):

要使用 rocket-nginx 的優化配置,EasyEngine 在創建網站時,要使用 wordPress 預設型式,不能帶有 redis 或 FastCGI 快取,如果已經用了 EasyEngine 快取優化,請改回一般 –wp 型式。

指令:

ee site update example.com --wp

使用 EasyEngine 不帶快取的型式,才能繼續執行下面的步驟。

cd /etc/nginx
git clone https://github.com/maximejobin/rocket-nginx.git

2.0 版本之後,必須使用 rocket-nginx 腳本生成配置。要生成默認配置,您必須重命名已禁用的 ini 文件並運行配置生成器。

cd rocket-nginx
cp rocket-nginx.ini.disabled rocket-nginx.ini

生成配置:

php rocket-parser.php

新生成的配置文件會在 /etc/nginx/rocket-nginx 資料夾裡,檔名為 default.conf。

然後到您的網站配置 /etc/nginx/sites-available/example.com 將 default.conf 文件添加進去。

例如:

vi /etc/nginx/sites-available/example.com

server {
   ...
    include common/php7.conf;  
    include common/wpcommon-php7.conf;
    include common/locations-php7.conf;
  
    # Rocket-Nginx configuration
    include rocket-nginx/default.conf;

    include /var/www/example.com/conf/nginx/*.conf;
  ...
}

或者不想更動到原本的網站配置,也可以利用 SFTP 將 default.conf 下載,再上傳到 /var/www/example.com/conf/nginx 文件夾裡。

最後不要忘記重新啟動 nginx,讓 rocket-nginx 配置生效。

nginx -t && service nginx restart

最後可以利用 Chrome F12 Tools 的 Network Headers 來看 rocket-nginx 有沒有生效,正確的使用 /var/www/example.com/wp-content/cache 緩存靜態文件。

這個部分可以參考 maxime jobin 的 github 文件,在 Debug 部分說明的很清楚。

Sending
User Rating 5 (5 votes)

Leave a Reply

0 Shares
Share
Tweet
+1
Share