Redisは、人気のあるオープンソースのインメモリKey-Valueデータストアです。ハッシュ、リスト、セット、文字列などのさまざまなデータ構造をサポートします。 Redisは、信頼できる環境でのみ実行されるように設計されており、データベース、キャッシュ、およびメッセージブローカーとして使用できます。 Redisは、幅広いサポート、高性能、高可用性、柔軟性で広く知られています。
小規模な展開では、Redisをスタンドアロンとしてインストールできます。大規模な展開の場合、高可用性のためのRedisSentinelや複数のRedisノードサーバー間でデータを分割するためのRedisClusterなどの追加コンポーネントを提供します。
このガイドでは、RockyLinuxにRedisをインストールする方法を学習します。簡単にインストールできるように、AppStreamリポジトリからRedisをインストールしますが、最新バージョンのRedis(つまり、より多くの機能)を入手したい場合は、システムにコンパイルしてソースからRedisをインストールできます。
- RockyLinuxシステム。すべてのパッケージとリポジトリが最新バージョンに更新されていることを確認してください
- rootユーザーまたはroot権限を持つユーザー。このユーザーを使用して、新しいパッケージをインストールし、システム構成を編集します。
AppStreamリポジトリからのRedisのインストール
コンパイルせずにRedisを簡単にインストールしたい場合は、RockyLinuxが提供するAppStreamリポジトリからインストールできます。現時点では、RockyLinuxAppStreamリポジトリはRedisバージョン5.xを提供していました。また、Redisバージョン6.xをインストールする場合は、手動でインストールする必要があります。
1. AppStreamリポジトリからRedisをインストールするには、以下のdnfコマンドを実行します。
sudo dnf install redis
ここで「Y」と入力します 'Redisパッケージをインストールします。
2.インストールが完了したら、以下のsystemctlコマンドを使用して、システムの起動時にredisを実行できるようにします。
sudo systemctl enable redis
3.その後、次のコマンドを実行してRedisサービスを開始し、そのステータスを確認します。
sudo systemctl start redis
sudo systemctl status redis
Redisサービスがアクティブで実行中の場合、以下のような出力が表示されます。
次の段階では、以下のセクションのようにRedisを構成します。
最新バージョンのRedisを入手したい場合は、ソースコードから手動でインストールできます。最新バージョンのRedisをインストールする主な利点は、常に最新の機能とパッケージを入手できることです。この時点で、最新の安定バージョン 6.2を入手してください 、この段階でインストールします。
1.まず、Redisをコンパイルする前に、いくつかのパッケージの依存関係をインストールする必要があります。
次のコマンドを使用して、EPELリポジトリをシステムに追加します。
sudo dnf install epel-release -y
グループパッケージをインストールする'開発ツール 'およびRedisをコンパイルするためのいくつかの追加パッケージ。
sudo dnf group install "Development Tools" -y
sudo dnf install jemalloc lua hiredis linenoise -y
その後、次のコマンドを実行して、openssl-devel(TLSサポートの場合)およびsystemd-devel(systemdサポートの場合)パッケージをインストールします。
sudo dnf install openssl-devel systemd-devel -y
2.すべてのパッケージのインストールが完了したら、次のコマンドを実行して、新しいユーザーとグループ' redisを作成します。 '。
sudo adduser --system --user-group --no-create-home --shell /sbin/nologin redis
次に、' / var / lib / redisにRedisの新しいデータディレクトリを作成します 'そしてそのディレクトリの所有権をユーザー'redisに変更します '次のコマンドを使用します。
sudo mkdir -p /var/lib/redis
sudo chown -R redis:redis /var/lib/redis
これで、redisをコンパイルしてインストールする準備が整いました。
3.作業ディレクトリを'/ usr / srcに変更します 'そして、以下のようにwgetコマンドを使用してRedisソースコードの最新の安定バージョンをダウンロードします。
cd /usr/src/
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
次に、Redisソースコードを抽出し、ディレクトリを'redis-*に変更します。 'ディレクトリ。
tar -xzvf redis-6.2.5.tar.gz
cd redis-*/
4.次のコマンドを使用してRedisソースコードをコンパイルします。
sudo make BUILD_TLS=yes USE_SYSTEMD=yes
知っておくべきオプション:
- BUILD_TLS =RedisのTLSサポートを有効にする
- USE_SYSTEMD =systemdをinitシステムとして使用するRockyLinuxシステムであるsystemdのサポートを有効にします。
次のコマンドを実行します。
sudo make test
このテストには時間がかかります。すべてが完了すると、以下のような出力が表示されます。
\o/ All tests passed without errors!
Cleanup: may take some time... OK
make[1]: Leaving directory '/usr/src/redis-6.2.5/src'
すべてのテストがエラーなしで合格したことを確認してください。
5.次に、以下のコマンドを実行してredisをインストールできます。
sudo make PREFIX=/usr install
Redisコマンドは「/usr/bin」で利用できます ' PREFIX =で指定するディレクトリ 'オプションが一番上にあります。
次のコマンドを実行して、Redisのインストールを確認できます。
redis-server --version
redis-cli --version
インストールが成功すると、Redis6.2のバージョンが下のスクリーンショットとして表示されます。
この段階で、Redisのインストールを構成します。このステージは、すべてのRedisインストール(ソースからのインストールまたはAppStreamリポジトリからのインストール)に実装できます。
1.ソースコードからRedisをインストールする場合は、次のコマンドを実行して、新しいRedis構成ディレクトリを作成します。
mkdir -p /etc/redis
次に、サンプル構成をコピーします' redis.conf 'から'/ etc / redis 'ディレクトリ。
cp /usr/src/redis-*/redis.conf /etc/redis/redis.conf
2.以下のnanoコマンドを実行して、「redis.conf」構成ファイルを編集します。
sudo nano /etc/redis/redis.conf
デフォルトの「バインド」アドレスをローカルネットワークのIPアドレスに変更します。
bind 127.0.0.1
オプション「daemonize」のコメントを解除し、値を「yes」に変更して、Redisをデーモンとして実行できるようにします。
daemonize yes
'supervised'オプションのコメントを外し、値を'systemd'に変更します。このオプションにより、Redisはシステム監視ツリーと対話できます。
supervised systemd
Redisの作業ディレクトリとデータディレクトリを'/ var / lib / redisに指定します 'ディレクトリ。すべてのRedisデータベースがこのディレクトリで利用可能になります。
dir /var/lib/redis
'requirepass'オプションのコメントを解除し、パスワードで値を変更し、強力で長いパスワードを使用するようにしてください。このオプションを使用すると、クライアントのすべてのやり取りに認証用のパスワードが必要になります。
requirepass AJds9dshsd8wqejdw82389r3ej3983jk
' Ctrl + x を押して、構成を保存します 'ボタン、' y'と入力します 、次に' Enterを押します '。
Redisを手動でインストールするには、Redisサービスファイルを設定する必要があります。
1.次のコマンドを実行して、作業ディレクトリを' / usr / src / redis-* / utilsに変更します。 'そしてsystemdサービスファイルを'/etc / systemd /system'にコピーします 。
cd /usr/src/redis-*/utils/
cp systemd-redis_server.service /etc/systemd/system/redis-server.service
2.' redis-server.serviceを編集します 'nanoを使用した構成。
sudo nano /etc/systemd/system/redis-server.service
以下の構成を使用して、いくつかのオプションを変更します。
[Unit]
...
AssertPathExists=/var/lib/redis
[Service]
...
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/bin/redis-cli shutdown
Restart=alway
...
User=redis
Group=redis
WorkingDirectory=/var/lib/redis
' Ctrl + xを押します 'ボタン、' yと入力します '、および'入力を押します '保存して終了します。
3.次に、次のコマンドを実行してsystemd-managerをリロードし、新しい構成を適用します。
sudo systemctl daemon-reload
4.その後、次のコマンドを実行して、システムの起動時にredisサービスが自動的に実行されるようにします。
sudo systemctl enable redis-server
5. redisサービスを開始し、次のコマンドを実行してそのステータスを確認します。
sudo systemctl start redis-server
sudo systemctl status redis-server
Redisサービスがアクティブで実行中の場合、以下のような出力が表示されます。
Redisの危険なコマンドの名前を変更または無効にする
Redisは、一部の危険なコマンドの名前を変更したり、完全に無効にしたりできるセキュリティ機能を提供します。そして、それは、redis構成ファイル' redis.conf'を介して簡単に実行できます。 。
1.redis構成を編集します'redis.conf 'nanoコマンドを使用します。
sudo nano /etc/redis/redis.conf
2. Redisコマンドを完全に無効にするには、次のようにコマンド名の後に空の引用符を付けて定義します。
rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command DEBUG ""
3. Redisコマンドの名前を変更するには、次のように、新しいコマンドに続くコマンド名を置換として定義できます。
rename-command SHUTDOWN SHUT_ME_DOWN
rename-command CONFIG CONFIG_ME_NOW
ボタン'Ctrl + x を押して、構成を保存します '、「 y」と入力します '、次に' Enter '。
4.次に、次のコマンドを実行してredisサービスを再起動し、構成を適用します。
sudo systemctl restart redis-server
次のステップでは、Redis認証が機能することを確認してから、名前を変更したばかりのコマンドを使用して確認します。
1.まず、「 redis-cli」を使用してRedisサーバーに接続する必要があります '以下のコマンド。
redis-cli
または、次のコマンドを使用してホストとポートを指定できます。
redis-cli -h 127.0.0.1 -p 6379
2.次に、「認証」を使用して自分自身を認証しました '以下のコマンド。
auth AJds9dshsd8wqejdw82389r3ej3983jk
認証が成功すると、「 OK」というメッセージが表示されます。 '。
3.以下の「ping」コマンドを実行します。このコマンドは、認証とRedisサーバーへの接続が成功することを保証します。
ping
接続が成功すると、「 PONG」というメッセージが表示されます。 '
4.次に、無効にした、または名前を変更したコマンドを確認します。
' CONFIGを実行します '以下のコマンド。
CONFIG get bind
また、エラーメッセージ「ERR不明なコマンド'CONFIG'」が表示されます。 'デフォルトの'CONFIG'コマンドが'CONFIG_ME_NOW'に置き換えられたため。
次に、' CONFIG_ME_NOを実行します 以下のようにW'コマンド。
CONFIG_ME_NOW get bind
CONFIG_ME_NOW get supervised
インストールが成功すると、以下のスクリーンショットのような同様の出力が表示されます。
さらに、いくつかの無効なコマンドを実行してみてください' FLUSHDB 'および'デバッグ '、および'ERR不明なコマンドと同じエラーメッセージが表示されます '。
おめでとう!これで、AppStreamリポジトリからインストールする方法とソースコードからインストールする方法の2つの方法を使用して、RedisをRockyLinuxに正常にインストールできました。また、認証を有効にし、危険なRedisコマンドの名前を変更して無効にすることで、Redisのデプロイを保護する方法を学びました。次のステップでは、TLSの実装、Redis Sentinelを使用した高可用性の設定など、別のRedis構成を調べることができます。