Redis はオープンソース(BSDライセンス)のメモリ内Key-Valueデータ構造ストアです使用 データベース、キャッシュ、およびメッセージブローカーとして。 Redis 文字列、ハッシュ、リスト、セット、範囲クエリを使用した並べ替えられたセット、ビットマップ、ハイパーログログ、地理空間インデックス、ストリームなどのデータ構造をサポートします。また、RedisはRedis Sentinelソフトウェアロジックで高可用性を提供し、Redisクラスターを使用してRedisノード間で自動パーティション分割を作成します。
ガイドの最後で、 Debian11BullseyeにRedisをインストールして設定する方法を理解できます。 オペレーティングシステム。
- 推奨OS: Debian11Bullseye以降
- ユーザーアカウント: sudoのユーザーアカウント またはルートアクセス。
オペレーティングシステムの更新
Debianを更新します 既存のすべてのパッケージが最新であることを確認するためのオペレーティングシステム:
sudo apt update && sudo apt upgrade -y
チュートリアルでは、sudoコマンドを使用します およびsudoステータスがあると仮定 。アカウントのsudoステータスを確認するには:
sudo whoami
sudoステータスを示す出力例:
[joshua@debian ~]$ sudo whoami
root
sudoユーザーアカウントをまだ設定しておらず、設定したい場合は、DebianのSudoersにユーザーを追加する方法のチュートリアルにアクセスしてください。
rootアカウントを使用するには 、rootパスワードを指定して次のコマンドを使用してログインします。
su
ルートまたはSudoアクセス
デフォルトでは、他のディストリビューションと比較して、Debianを使用して起動時にアカウントを作成すると、sudoersステータスを自動的に受け取りません。 ルートパスワードにアクセスできる必要があります suコマンドを使用するには または、DebianのSudoersにユーザーを追加する方法に関するチュートリアルをご覧ください。
Redisのインストール
デフォルトでは、Redis5シリーズはDebian11リポジトリに含まれています。 Redisサービスをインストールするには、次のコマンドを入力します:
sudo apt install redis-server
出力例:
Y、と入力します 次に、ENTERキーを押します インストールを続行します。
apt-cache policyコマンドを使用して確認することにより、Redisが正しくインストールされたことを確認します。
sudo apt-cache policy redis-server
出力例:
次に、ステータスを確認し、Redisが実行されていること、さらに重要なことに、エラーがないことを確認します。
systemctl status redis-server
出力例:
Reddisはデフォルトのポート6379でローカルホストをアクティブにリッスンすることに注意してください 。このタイプを確認するには、次のようにします。
ps -ef | grep redis
出力例:
root@debian:/home/joshua# ps -ef | grep redis
redis 5048 1 0 09:23 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root 5563 3653 0 09:25 pts/0 00:00:00 grep redis
これで、すべてが機能して動作していることをテストしている間に、Redisサービスに接続してからpingテストを実行することをお勧めします。
テストを実行するには、次のコマンドを入力します。
redis-cli
接続すると、端末に(127.0.0.1:6379)と表示されます。次に、次のようにRedisサービスにpingを実行します。
ping
出力例:
127.0.0.1:6379> ping
PONG
次のように入力して、Redisインスタンスを終了します。
exit
おめでとうございます。Debian11BullseyeオペレーティングシステムにRedisをインストールし、動作することを確認しました。次に、Redisを設定できます。
Redisを設定する方法
Redisはいくつかの方法で構成できます。人々がRedisを使用する理由の最も注目すべきアクションは、キャッシュの目的です。これを行うには、“ /etc/redis/redis.confを開く必要があります 」 nanoエディターを使用したファイル。
sudo nano /etc/redis.conf
最大メモリの構成
ここで、ファイルの最後に以下を追加します。メモリ値は、好きなように変更できます。さらに重要なことに、Webアプリケーションとサーバーハードウェアに最適な値に変更できます。
maxmemory 500mb
maxmemory-policy allkeys-lru
ご覧のとおり、ガイドの設定では、RAMが大量にある専用ホスト上にあるため、Redis専用の500MBが設定されています。 500MBが使い果たされると、RedisはLRUアルゴリズムに従ってすべてのキーを削除します。
ネットワークアクセスの構成
もう1つのオプションは、すべてのサービスをリッスンするか、Redisサービスが気に入った場合はIPアドレス/サブネットを設定することです。
まず、構成ファイルで69行目を見つけます。
まず、すべてのネットワークインターフェースをリッスンするには、コメント「#」 回線はIPにバインドされます:
例:
# bind 127.0.0.1 ::1
別の方法:
bind 0.0.0.0/0
内部ネットワークが信頼できるものであり、適切なセキュリティ管理が実施されていることを確認してください。
IPアドレスにバインドするには、それが静的IPアドレスであることを確認してください。
例:
bind 192.150.5.2
ネットワークサブネットをバインドします。
例:
bind 192.150.5.0/24
サブネットまたはすべてのインターフェースへのアクセスを使用してリッスンする場合は、パスワードを設定することを強くお勧めします。
パスワードの設定
もう1つのセキュリティ機能とRedisをさらに強化する方法は、Redisインスタンスにパスワードを設定することです。
行507に移動し、「#requiredpass」のコメントを解除します。 行を入力し、パスワードを設定します。
例:
requiredpass APASSWORD
このパスワードが堅牢で、数字、文字、特殊記号、大文字がランダム化されていることを確認してください。Redisサーバーは、まともなボックスに無理やり押し付けられる可能性があります。
次に、Redis-CLIを呼び出すときに、ユーザーに設定されたパスワードを使用して次のコマンドを使用します。
例:
auth THEPASSWORDSET
「THEPASSWORDSET」 作成されたパスワードです。
ユーザーがログインに失敗すると、次のエラーメッセージが表示されます。
(error) NOAUTH Authentication required.
ユーザーが正常にログインすると、次のメッセージが表示されます。
OK
完了したら、変更を保存します CTRL + O 次に、 CTRL + Xを終了します 。次のように入力して、Redisサービスを再起動します。
sudo systemctl restart redis-server
オプション–RedisUFWルールを設定する
UFWをインストールしている場合は、TCPポート6379でUFW許可ルールを作成する必要があります。インストールと要件に応じて、単一またはクラスターネットワークで使用する場合。
まず、UFWをインストールする場合は、次のコマンドを使用します。
sudo apt install ufw -y
インストールしたら、ファイアウォールを有効にします。
sudo ufw enable
これにより、ファイアウォールが起動し、システムの再起動が可能になります。デフォルトでは、ルールはすべての着信を拒否し、すべての発信を許可することです。
次に、以下の例に従って、オプションを選択または変更します。これは、Redisを強化するために強くお勧めします。
追加のネットワークIPサーバーインスタンス:
sudo ufw allow proto tcp from <ip address> to any port 6379
多くのインスタンスを含むクラスタネットワーク:
sudo ufw allow proto tcp from <ip address>/24 to any port 6379
2番目のUFWルールはサブネットルールであることに注意してください。許可する前に、内部ネットワークが安全で信頼できることを確認してください。
これで、ガイドの冒頭でRedisサービスにpingを実行して動作していることを確認してテストしたので、「redis-cli」を使用してファイアウォールルールとIPの変更を試すことができます。 コマンド:
redis-cli -h <ip address> ping
正しく設定されている場合、出力は次のようになります。
pong