在 Synology NAS 上部署 Redis 並加速 WordPress

Redis 是一個開源的高速鍵值資料庫,常用來做快取、即時資料處理和訊息佇列。因為資料都存在記憶體中,所以存取速度非常快,並支援資料持久化與分散式部署,很常被用在網站開發、遊戲後端、即時系統中。

目次

準備工作

  • Synology NAS 支援 Docker/Container Manager
  • 已架設完 WordPress ,還沒的話可參考以下文章架設 WordPress

在 Synology Container Manager 安裝 Redis

STEP
進入 Container Manager 選擇倉庫伺服器, 搜尋 redis, 下載 redis/redis-stack。
STEP
一般設定

執行剛下載的 redis/redis-stack, 勾選透過 Web Statsion 建立網頁入口, 容器通訊埠選擇 8001和HTTP, 下一步

STEP
進階設定

通訊埠設定的本機通訊埠輸入 6379 , 儲存空間設定新增資料夾 選擇想要儲存資料庫的資料夾 並在右邊輸入 /data, 如果想要資料庫有密碼的話在 REDIS_ARGS 處輸入--requirepass yourpassword , 網路選擇跟wordpress一樣的網路, 下一步, 確認沒問題後, 完成。

STEP
設定網頁入口

之後會跳出視窗設定網頁入口, 如果沒跳出來的話到 Web Station 的網頁入口, 選新增, 網頁服務入口也一樣。
設定完後選擇右邊的連結 (或是手動在網址列輸入 your_nas_ip:8001) 前往設定 Redis。

STEP
網頁設定

進入後選擇 I have read and understood the Terms 選項 -> Submit。
接下來如果有設定密碼的話需要輸入密碼, 帳號就空著沒關係, Apply Changes, 然後 Test Connection一下, 沒問題就好了。

沒密碼或有密碼如果有看到這個畫面就代表完成了。

在 WordPress 上啟用 Redis

STEP
安裝並啟用 Redis Object Cache 外掛

在 WordPress上安裝並啟用Redis Object Cache 外掛

STEP
修改 wp-config.php 文件

在 wp-config.php 開頭加上這段 code.

YAML
/* Redis Object Cache */
define('WP_REDIS_HOST', 'redis-stack');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_PASSWORD', '123456789');

redis-stack替換成剛剛建立的redis容器的名子, 123456789替換成你的資料庫密碼, 如果權限不夠編輯檔案, 就下載修改完後上傳取代。

STEP
啟用物件快取

到wordpress控制台 -> 設定 -> Redis -> 啟用物件快取, 如果沒辦法啟用的話檢查前面哪個步驟漏掉或是留言告訴我 ヽ(°▽、°)ノ

測試

可以下載 Query Monitor 外掛查看開啟前後的比較。開啟前後比較:

根據不專業統計, 開啟 Redis 後資料庫查詢從 0.0318s -> 0.0036s, 大約少了 88.68% 的資料庫查詢時間。

QA

Redis 是優化哪方面的?

Redis 為物件快取, 主要減少資料庫負載, 將資料儲存在記憶體中而不是硬碟中減少 IO 瓶頸, 如果要優化前端快取的話推薦 WP Rocket, 兩者可以合併使用。

為何輸入your_nas_ip:8001 無法連上 Redis 網頁?

要輸入區網的ip, 如果要輸入 DDNS 網址之類的話要去路由器做 port forwarding

為什麼在網頁入口設定時是設定 HTTPS 不是 HTTP

我設定 HTTP 時沒辦法連到 Redis, 有知道的人拜託留言告訴我。

Reference

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次