
Redisは、オープンソースのインメモリデータ構造ストアです。データベース、キャッシュ、メッセージブローカーとして使用でき、文字列、ハッシュ、リスト、セットなどのさまざまなデータ構造をサポートします。Redisは、監視、通知自動フェイルオーバーなど、RedisSentinelを介して高い可用性を提供します。また、Redisクラスターを使用して複数のRedisノード間で自動パーティション分割を提供します。
このチュートリアルでは、CentOS7サーバーにRedisをインストールして構成する方法について説明します。
前提条件#
チュートリアルを開始する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。
CentOS 7へのRedisのインストール#
RedisパッケージはデフォルトのCentOSリポジトリに含まれていません。 RemiリポジトリからRedisバージョン5.0.2をインストールします。
インストールは非常に簡単です。以下の手順に従ってください。
-
SSHターミナルで次のコマンドを実行して、Remiリポジトリを有効にすることから始めます。
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi
-
次のように入力して、Redisパッケージをインストールします:
sudo yum install redis
-
インストールが完了したら、Redisサービスを開始し、起動時に次のコマンドで自動的に開始できるようにします。
sudo systemctl start redis
sudo systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
サービスのステータスを確認するには、次のコマンドを入力します。
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 2018-11-24 15:21:55 PST; 40s ago Main PID: 2157 (redis-server) CGroup: /system.slice/redis.service └─2157 /usr/bin/redis-server 127.0.0.1:6379
おめでとうございます。この時点で、RedisがCentOS7サーバーにインストールされて実行されています。
デフォルトでは、Redisはリモート接続を許可していません。 Redisサーバーに接続できるのは127.0.0.1(localhost)(Redisが実行されているマシン)からのみです。
リモートホストからRedisサーバーに接続する場合にのみ、次の手順を実行してください。アプリケーションとRedisが同じマシンで実行されている単一サーバー設定を使用している場合は、リモートアクセスを有効にしないでください。
リモート接続を受け入れるようにRedisを構成するには、テキストエディターでRedis構成ファイルを開きます。
sudo nano /etc/redis.conf
bind 127.0.0.1
で始まる行を見つけます 127.0.0.1
の後にサーバーのプライベートIPアドレスを追加します 。
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 *:*
tcp LISTEN 0 128 127.0.0.1:6379 *:*
次に、TCPポート6379
でリモートマシンからのトラフィックを有効にするファイアウォールルールを追加する必要があります 。
FirewallD
を使用していると仮定します ファイアウォールを管理し、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