由於 WordPress 與使用 Laravel 的測試網站放在 Synology NAS 上讀取速度有點慢,為了加快讀取,所以需要使用 Redis 來讓網站讀取加速,於是試著安裝 Redis 在 Synology NAS 上面。

安裝 Redis

Synology NAS 的套件並沒有提供 Redis,必須透過第三方社群套件來安裝 Redis,先開啟套件中心點擊右上角的【設定】按鈕並在【套件來源】頁籤中新增一個來源。

名稱:SynoCommunity 位置:http://packages.synocommunity.com

之後就可以在右邊看到【社群】選項出現,並且在裡面找到【 redis 】的套件,點擊【安裝套件】按鈕來安裝 Redis。

安裝完成後,使用 SSH 終端連線進 NAS,測試是否啟動。

##輸入 /usr/local/redis/bin/redis-cli ping
##若回應 PONG 代表已經啟動

root@NAS:~# /usr/local/redis/bin/redis-cli ping
PONG

PHP 套件安裝 Redis extension

Synology NAS 預設實際上是有安裝 Redis extension 但並沒有開啟 Redis extension 須自己手動增加。這邊我使用 PHP 7.3 版,先確認套件有沒有安裝 extension。

## 確認套件是否有安裝 Redis extension
root@NAS:~# ls /volume1/@appstore/PHP7.3/usr/local/lib/php73/modules/redis.so
/volume1/@appstore/PHP7.3/usr/local/lib/php73/modules/redis.so

編輯 /usr/local/etc/php73/cli/conf.d/extension.ini

# 在最下方加入
extension = redis.so

編輯 /volume1/@appstore/PHP7.3/misc/extension_list.json

//在內容中加入啟用 redis
    "redis": {
    "enable_default": true,
    "desc": "The phpredis extension provides an API for communicating with the Redis key-value store."
    },

回到 NAS 控制台查看 PHP 的設定,並將 redis 選項打勾。

用 phpinfo 查看是否有啟用

簡單測試

寫一個簡單的 PHP 測試程式確認是否可以正確使用。

<?php
    $redis = new Redis();

    //連線到 Redis
    $redis->connect('127.0.0.1', 6379);
    //$redis->auth('password');
    if ($redis->ping()) {
        echo "Connected to Redis server<br>";
        $redis->set("sessionid", "12345");
        echo "SessionId : ";
        var_dump($redis->get("sessionid"));
    } else {
        echo "Can't connect to server<br>";
    }

安裝 erikdubbelboer/phpRedisAdmin Redis 線上管理工具

# Composer 安裝方式
curl -s http://getcomposer.org/installer | php
php composer.phar create-project -s dev erik-dubbelboer/php-redis-admin path/to/install

# 手動安裝方式
git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
cd phpRedisAdmin
git clone https://github.com/nrk/predis.git vendor

最後修改日期: 2020 年 11 月 7 日