Redis はオープンソース(BSDライセンス)のメモリ内Key-Valueデータ構造ストアです使用 データベース、キャッシュ、およびメッセージブローカーとして。 Redis 文字列、ハッシュ、リスト、セット、範囲クエリを使用した並べ替えられたセット、ビットマップ、ハイパーログログ、地理空間インデックス、ストリームなどのデータ構造をサポートします。また、RedisはRedis Sentinelソフトウェアロジックで高可用性を提供し、Redisクラスターを使用してRedisノード間で自動パーティション分割を作成します。
Fedora35にRedisをインストールして設定する方法を知っているでしょう。 ガイドの最後にあるオペレーティングシステム。
- 推奨OS: Fedora Linux 35
- ユーザーアカウント: sudoまたはrootアクセス権を持つユーザーアカウント。
オペレーティングシステムの更新
Fedoraを更新します 既存のすべてのパッケージが最新であることを確認するためのオペレーティングシステム:
sudo dnf upgrade --refresh -y
チュートリアルでは、sudoコマンドを使用します およびsudoステータスがあると仮定 。
アカウントのsudoステータスを確認するには:
sudo whoami
sudoステータスを示す出力例:
[joshua@fedora ~]$ sudo whoami
root
既存または新規のsudoアカウントを設定するには、FedoraでのSudoersへのユーザーの追加に関するチュートリアルにアクセスしてください。 。
rootアカウントを使用するには 、rootパスワードを指定して次のコマンドを使用してログインします。
su
Redisのインストール
RedisはFedoraのデフォルトのリポジトリに含まれており、通常、最新の安定したリリースであるか、他のほとんどのディストリビューションと比較して遅れているバージョンです。 Fedoraには、最新のデフォルトのインストールパッケージの1つがあります。
Redisをインストールするには、ターミナルを開いて次のコマンドを実行します。
sudo dnf install redis
出力例:
タイプY、 次に、ENTERキーを押します。 続行してインストールを完了します。
バージョンとビルドコマンドを確認して、Redisが正しくインストールされたことを確認します。
redis-cli --version
出力例:
redis-cli 6.2.5
デフォルトでは、Redisは起動時に有効になっていないか、インストール後にアクティブ化されていません。
Redisサービスを開始するには:
Redisサービスを開始するには:
sudo systemctl start redis
システム起動時にRedisサービスの自動開始を有効にするには:
sudo systemctl enable redis
または、両方を同時に実行することもできます:
sudo systemctl enable redis --now
次に、ステータスを確認し、Redisが実行されていること、さらに重要なことに、エラーがないことを確認します。
systemctl status redis
出力例:
Reddisはデフォルトのポート6379でローカルホストをアクティブにリッスンすることに注意してください 。このタイプを確認するには、次のようにします。
ps -ef | grep redis
出力例:
これで、すべてが機能して動作していることをテストしている間に、Redisサービスに接続してからpingテストを実行することをお勧めします。
テストを実行するには、次のコマンドを入力します。
redis-cli
接続すると、端末に(127.0.0.1:6379 )が表示されます )。次に、次のようにRedisサービスにpingを実行します。
ping
出力例:
次のように入力して、Redisインスタンスを終了します。
exit
おめでとうございます。Fedoraオペレーティングシステムに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
Redis用にFirewallを構成する
デフォルトでは、Redisのルールは設定されていません。つまり、Redisへの攻撃を阻止するために不可欠な許可ルールを作成する必要があります。Redisを保護できないと、問題が発生する可能性があるため、Redisのインストールを保護する他の手段がない限り、これをスキップしないでください。
まず、Redisファイアウォールポリシー用の新しい専用ゾーンを追加します:
sudo firewall-cmd --permanent --new-zone=redis
次に、Redisへのアクセスを許可する許可されたIPアドレスを指定します。
sudo firewall-cmd --permanent --zone=redis --add-source=1.2.3.4
1.2.3.4をIPに置き換えます 許可リストに追加されるアドレス。
IPアドレスの追加が完了したら、Redisのポートを開きます。デフォルトでは、これはTCPポート6379です。 。
sudo firewall-cmd --permanent --zone=redis --add-port=6379/tcp
上記のファイアウォールポートオープンルールを新しい値に変更すると、構成ファイルのデフォルトポートを変更できることに注意してください。
これらのコマンドを実行した後、ファイアウォールをリロードして新しいルールを実装します。
sudo firewall-cmd --reload
成功した場合の出力例:
success
これで、ガイドの冒頭でRedisサービスにpingを実行して動作していることを確認してテストしたので、「redis-cli」を使用してファイアウォールルールとIPの変更を試すことができます。 コマンド:
redis-cli -h <ip address> ping
正しく設定されている場合、出力は次のようになります。
pong
Redisを削除(アンインストール)する方法
Redisを削除するには、端末で次のコマンドを使用します。
sudo dnf autoremove redis -y
これにより、Redisがシステムからすぐに削除されます。