ServerAvatar 教學 – 如何在 WordPress 網站上安裝、設定 Redis Object Cache
為了提高網站的頁面載入效能、提高訪客瀏覽網頁的體驗,最關鍵的就是快取技術,而 Redis 則是 WordPress 外取工具中效能最好的選擇之一。
這也是為什麼 Cloudways 在主機上預設安裝了 Redis,而 Cloudways 上架設的 WordPress 網站也都預設安裝了 Redis Object Cache 外掛。
在這篇文章中,我們教大家如何在 ServerAvatar 的 WordPress 網站上安裝、設定 Redis Object Cache 物件快取。
WordPress 網站使用 Redis 的好處
或許您曾經在 WordPress 後台工具 > 網站狀態頁面看過這個「建議改進項目」:
一般來說,當訪客訪問網站時會對網站請求資料,而背後的動作就是到資料庫查詢並將結果回傳到前端,對動態網站來說這樣的操作相當耗費時間,特別是訪客數量多的時候,平均等候回覆時間會拉長。
使用 Redis 可以對網站後端運作帶來顯著的效能提升、大幅降低等候回覆時間。Redis 會將資料庫查詢與資料結構儲存在快取記憶體中,讓後端的反應速度能跟前端的體驗一樣快。
而這對會員或電商網站的效能提升影響更為顯著。
啟用 Redis Cache 的前置準備
對網站進行重大功能的導入時,第一件事就是對網站進行備份,並創建預備環境 (Staging Environment) 進行測試。
可以參考以下文章的網站備份章節:
啟用 Redis Cache
步驟一:安裝 Redis Object Cache 外掛
首先,到 WordPress 後台外掛 > 安裝外掛搜尋 Redis Object Cache。
點擊「立即安裝」並「啟用」外掛。
步驟二:設定 Redis Object Cache 外掛
接著到 WordPress 後台設定 > Redis 頁面可以看到 Redis 的狀態為無法連線。
在 ServerAvatar 上安裝主機時都會預設安裝 Redis,這裡看到 WordPress 網站上的 Redis Object Cache 外掛無法連上 Redis 服務是因為相關設定還沒完成,我們需要先完成以下步驟。
設定防火牆規則
根據 Redis Object Cache 外掛的官方安裝說明,Redis 服務預設會使用 TCP 的方式透過 127.0.0.1:6379 進行溝通,所以在主機上需要設定防火牆規則,打開 port 6379。
取得 Redis 密碼
進入這個 WordPress 網站所屬的主機管理頁面下的 Settings 頁面。
在 Security Settings 區塊中可以看到 Redis Password 資訊,將密碼複製保存下來。
設定 Redis 密碼與 port number
接著我們將 Redis 的密碼與 port number 設定到 WordPress 網站的 wp-config.php 檔案中。
進入 Applications 下的 WordPress 網站管理介面可以找到 File Manager 功能,在 ServerAvatar 上修改網站資料夾中的檔案相當方便,直接找到 wp-config.php 檔案,點擊進入編輯畫面。
在編輯畫面中,將以下程式碼複製貼到 <?php 下。
/* Redis Object Cache */
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_PASSWORD', '123456789');
「123456789」的部分記得改成剛剛保存下來的密碼。
確認 Redis Object Cache 外掛狀態
完成上述設定接著回到 WordPress 後台設定 > Redis 頁面就可以看到 Redis 的狀態變為可以連線了。
步驟三:啟用 Redis Object Cache
按下「啟用物件快取」按鈕就完成 Redis Cache 的安裝了,外掛狀態也會變為已連接。
查看快取回應時間
後續在WordPress 後台的控制台,或是設定 > Redis 頁面都可以查看 Redis 物件快取的回應時間、快取檔案大小、快取比率、呼叫次數等指標數據。
單一主機上多個 WordPress 網站
那麼,如果在一個主機上架設了多個 WordPress 網站,想要在這些 WordPress 網站上都啟用 Redis Cache 是可以的嗎?
不用擔心,在 ServerAvatar 上同一個主機中的多個 WordPress 網站安裝 Redis Cache,網站的 WP_REDIS_PREFIX 都會預設與 WP_CACHE_KEY_SALT 相同 (如下圖),Redis Cache 的運作彼此之間不會產生衝突。
當然,更好的做法是在前面設定 Redis 密碼與 port number 時,直接替每個網站定義一個獨特的 ID 作為 WP_REDIS_PREFIX 值。
// change the prefix and database for each site to avoid cache data collisions
define( 'WP_REDIS_PREFIX', 'testing-site' );
define( 'WP_REDIS_DATABASE', 0 ); // 0-15
「testing-site」的部分改成每個網站各自獨特的 ID。
結語
這樣我們就完成了 ServerAvatar 上 WordPress 網站的 Redis Object Cache 物件快取的安裝了!
使用 ServerAvatar 伺服器控制面板自行管理網站的過程中,我們也持續尋找能夠強化網站安全、增進網站效能的工具,希望這些對大家在自行管理網站上能幫得上忙。
如果有什麼心得、想法或建議,也歡迎大家加入社團一起討論唷!
超棒的分享,好像有時間、有機會真的要來搬家看看呢XD
等我把眾網站搬的差不多了再來分享搬家的經驗與步驟~~