Redisは、オープンソースのメモリ内Key-Valueデータストアです。データベース、キャッシュ、およびメッセージブローカーとして使用でき、文字列、ハッシュ、リスト、セットなどのさまざまなデータ構造をサポートします。 Redisは、Redis Sentinelを介して高可用性を提供し、Redisクラスターを使用して複数のRedisノード間で自動パーティション分割を行います。
このチュートリアルでは、Debian 10、BusterにRedisをインストールして設定する方法について説明します。
DebianへのRedisのインストール#
Redisバージョン5.0.xは、デフォルトのDebian10リポジトリに含まれています。これをインストールするには、rootまたはsudo権限を持つユーザーとして次のコマンドを実行します。
sudo apt update
sudo apt install redis-server
インストールが完了すると、Redisサービスが自動的に開始されます。次のように入力して確認できます:
sudo systemctl status redis-server
出力は次のようになります。
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-11-28 14:15:23 PST; 27s ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 2024 (redis-server)
Tasks: 4 (limit: 2359)
Memory: 6.9M
CGroup: /system.slice/redis-server.service
└─2024 /usr/bin/redis-server 127.0.0.1:6379
サーバーでIPv6が無効になっていると、Redisサービスの開始に失敗します。 それでおしまい! RedisはDebian10サーバーにインストールされて実行されており、使用を開始できます。
デフォルトでは、Redisはローカルホストでのみリッスンするように構成されています。 Redisサーバーに接続できるのは、Redisサービスが実行されているマシンからのみです。
データベースに接続しているクライアントも同じホストで実行されている単一サーバー設定を使用している場合は、リモートアクセスを有効にしないでください。
リモート接続を受け入れるようにRedisを構成するには、テキストエディターでRedis構成ファイルを開きます。
sudo vim /etc/redis/redis.conf
bind 127.0.0.1 ::1
で始まる行を検索します コメントしてください。
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# bind 127.0.0.1 ::1
ファイルを保存してエディタを閉じます。
変更を有効にするには、Redisサービスを再起動します。
sudo systemctl restart redis-server
ss
を使用する またはnetstat
Redisがポート6379
のすべてのインターフェースでリッスンしていることを確認します :
ss -an | grep 6379
以下のようなものが表示されます:
tcp LISTEN 0 128 0.0.0.0:6379 0.0.0.0:*
tcp LISTEN 0 128 [::]:6379 [::]:*
また、TCPポート6379
でリモートマシンからのトラフィックを有効にするファイアウォールルールを追加する必要があります 。
UFW
を使用していると仮定します ファイアウォールを管理し、192.168.121.0/24
からのアクセスを許可したい サブネットの場合、次のコマンドを実行します:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
信頼できるIP範囲からの接続のみを受け入れるようにファイアウォールが構成されていることを確認してください。
完了したら、redis-cli
を使用します リモートマシンからRedisサーバーにpingを実行して接続をテストするユーティリティ:
redis-cli -h <REDIS_IP_ADDRESS> ping
コマンドはPONG
の応答を返す必要があります :
PONG