Redisは、オープンソースのメモリ内Key-Valueデータストアです。データベース、キャッシュ、メッセージブローカーとして使用でき、文字列、ハッシュ、リスト、セットなどのさまざまなデータ構造をサポートします。Redisは、監視、通知自動フェイルオーバーなど、RedisSentinelを介して高い可用性を提供します。また、Redisクラスターを使用して複数のRedisノード間で自動パーティション分割を提供します。
このチュートリアルでは、Debian9サーバーにRedisをインストールして設定する方法について説明します。
前提条件#
チュートリアルを開始する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。
DebianへのRedisのインストール#
RedisパッケージはデフォルトのDebian9リポジトリに含まれています。インストールは非常に簡単です。以下の手順に従ってください。
-
次のコマンドを発行して、aptパッケージリストを更新することから始めます。
sudo apt update
-
次のように入力してRedisをインストールします:
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 Wed 2018-12-05 08:54:49 PST; 4min 52s ago Docs: http://redis.io/documentation, man:redis-server(1) Main PID: 1569 (redis-server) CGroup: /system.slice/redis-server.service └─1569 /usr/bin/redis-server 127.0.0.1:6379
この時点で、RedisはDebian 9サーバーにインストールされて実行されており、使用を開始できます。
デフォルトでは、Redisにリモートの場所からアクセスすることはできません。 Redisサーバーに接続できるのは127.0.0.1(localhost)(Redisが実行されているマシン)からのみです。
リモートホストからRedisサーバーに接続する場合にのみ、次の手順を実行してください。アプリケーションとRedisが同じマシンで実行されている単一サーバー設定を使用している場合は、リモートアクセスを有効にしないでください。
リモート接続を受け入れるようにRedisを構成するには、テキストエディターでRedis構成ファイルを開きます。
sudo vim /etc/redis/redis.conf
bind 127.0.0.1
で始まる行を検索します 127.0.0.1
を置き換えます 0.0.0.0
を使用 。
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 0.0.0.0
ファイルを保存してエディタを閉じます。
変更を有効にするには、Redisサービスを再起動します。
sudo systemctl restart redis-server
次のコマンドを使用して、Redisがポート6379
のすべてのインターフェイスでリッスンしていることを確認します :
ss -an | grep 6379
以下のようなものが表示されます:
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