Redisは、オープンソースのメモリ内Key-Valueデータストアです。データベース、キャッシュ、メッセージブローカーとして使用でき、文字列、ハッシュ、リスト、セットなどのさまざまなデータ構造をサポートします。 Redisは、Redis Sentinelを介して高可用性を提供し、Redisクラスターを使用して複数のRedisノード間で自動パーティション分割を行います。
このガイドでは、CentOS8でのRedisのインストールと構成について説明します。
CentOS 8へのRedisのインストール#
Redisバージョン5.0.xは、デフォルトのCentOS8リポジトリに含まれています。これをインストールするには、rootまたはsudo権限を持つユーザーとして次のコマンドを実行します。
sudo dnf install redis-server
インストールが完了したら、Redisサービスを有効にして開始します。
sudo systemctl enable --now redis
Redisサーバーが実行されているかどうかを確認するには、次のように入力します。
sudo systemctl status redis
● redis.service - Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/redis.service.d
└─limit.conf
Active: active (running) since Sat 2020-02-08 20:54:46 UTC; 7s ago
それでおしまい。 CentOS8サーバーにRedisがインストールされて実行されています。
デフォルトでは、Redisはリモート接続を許可していません。 Redisサーバーに接続できるのは127.0.0.1(localhost)(Redisが実行されているマシン)からのみです。
データベースに接続しているクライアントも同じホストで実行されている単一サーバー設定を使用している場合は、リモートアクセスを有効にしないでください。
リモート接続を受け入れるようにRedisを構成するには、テキストエディターでRedis構成ファイルを開きます。
sudo nano /etc/redis.conf
bind 127.0.0.1
で始まる行を見つけます 127.0.0.1
の後にサーバーのプライベートIPアドレスを追加します 。
bind 127.0.0.1 192.168.121.233
必ず192.168.121.233
を置き換えてください あなたのIPアドレスで。ファイルを保存してエディタを閉じます。
変更を有効にするには、Redisサービスを再起動します。
sudo systemctl restart redis
次のss
を使用します Redisサーバーがポート6379
のプライベートインターフェイスでリッスンしていることを確認するコマンド :
ss -an | grep 6379
以下のようなものが表示されます:
tcp LISTEN 0 128 192.168.121.233:6379 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
次に、TCPポート6379
でトラフィックを有効にするようにファイアウォールを構成する必要があります 。
通常、特定のIPアドレスまたはIP範囲からのみRedisサーバーへのアクセスを許可する必要があります。たとえば、192.168.121.0/24
からの接続のみを許可するには 、次のコマンドを実行します:
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanent
sudo firewall-cmd --reload
上記のコマンドは、redis
という名前の新しいゾーンを作成します 、ポート6379
を開きます プライベートネットワークからのアクセスを許可します。
この時点で、RedisサーバーはTCPポート6379でリモート接続を受け入れます。
信頼できるIP範囲からの接続のみを受け入れるようにファイアウォールが構成されていることを確認してください。
すべてが正しく設定されていることを確認するには、redis-cli
を使用してリモートマシンからRedisサーバーにpingを実行してみてください。 Redisサーバーへのコマンドラインインターフェイスを提供するユーティリティ:
redis-cli -h <REDIS_IP_ADDRESS> ping
コマンドはPONG
の応答を返す必要があります :
PONG