Redisは、さまざまな種類のデータ構造をサポートする無料のオープンソースのメモリ内Key-Valueストアです。データベース、キャッシュ、メッセージブローカー、およびキューとして使用できます。高性能でスケーラブルなWebアプリケーションを構築するために使用されます。 Java、PHP、C、Perl、Python、C#、Lua、Goなどの幅広いプログラミング言語をサポートしています。これはクロスプラットフォームであり、Linux、* BSD、OSXなどのほとんどのUnixベースのオペレーティングシステムで動作します。
このチュートリアルでは、CentOS8サーバーにRedisをインストールする方法を説明します。
- CentOS8を実行しているサーバー。
- ルートパスワードがサーバーに設定されます。
Redisサーバーをインストールする
デフォルトでは、RedisパッケージはCentOS8のデフォルトリポジトリで利用できます。次のコマンドを実行してインストールできます:
dnf install redis -y
Redisサーバーをインストールした後、次のコマンドを使用してRedisサービスを開始し、システムの再起動時に開始できるようにします。
systemctl start redis
systemctl enable redis
次のコマンドを使用して、Redisサーバーのステータスを確認することもできます。
systemctl status redis
次の出力が得られるはずです:
ロード済み:ロード済み(/usr/lib/systemd/system/redis.service;無効;ベンダープリセット:無効)ドロップイン:/etc/systemd/system/redis.service.d ?? limit.confアクティブ:火曜日2020-09-1504:52:54EDT以降アクティブ(実行中)。 6秒前メインPID:3076(redis-server)タスク:4(制限:12527)メモリ:6.6M CGroup:/system.slice/redis.service ?? 3076 / usr / bin / redis-server 127.0.0.1:6379Sep 15 04:52:54 centos8 systemd [1]:Redis永続キー値データベースを開始しています...9月15日04:52:54centos8 systemd [1]:Redis永続キー値データベースを開始しました。
デフォルトでは、Redisはポート6379でリッスンします。次のコマンドで確認できます:
ss -ant | grep 6379
次の出力が得られるはずです:
LISTEN 0128 127.0.0.1:6379 0.0.0.0:*
次に、次のコマンドを使用してRedis接続をテストします。
redis-cli
次の出力が表示されます。
127.0.0.1:6379>
次に、次のコマンドを実行して接続を確認します。
127.0.0.1:6379> ping
次の出力が表示されます。
PONG
次に、Redisをキャッシュサーバーとして設定する必要があります。これは、Redis構成ファイルを編集することで実行できます:
nano /etc/redis.conf
ファイルの最後に次の行を追加します。
maxmemory 128mbmaxmemory-policy allkeys-lru
終了したら、ファイルを保存して閉じます。次に、次のコマンドを使用してRedisサービスを再起動します。
systemctl restart redis
デフォルトでは、redis-cliを使用すると、Raedisシェル内で任意のコマンドを実行できます。そのため、パスワードを使用してRedisシェルを保護することをお勧めします。 /etc/redis.confファイルを編集してパスワード認証を有効にできます:
nano /etc/redis.conf
次の行を見つけます:
#requirepass foobared
そして、それを次の行に置き換えます:
requirepass A&#9D3Fs4%#df
終了したら、ファイルを保存して閉じます。次に、Redisサービスを再起動して、構成の変更を適用します。
systemctl restart redis
次に、次のコマンドを使用してRedisに接続します。
redis-cli
接続したら、次のコマンドを実行します。
127.0.0.1:6379>INFOサーバー
認証しないため、次のエラーが発生します。
NOAUTH認証が必要です。
次に、次のコマンドを実行して、Redis構成ファイルで指定されたパスワードで認証します。
127.0.0.1:6379> AUTH A&#9D3Fs4%#df
次の出力が表示されます。
OK
次に、次のコマンドを実行します。
127.0.0.1:6379>INFOサーバー
次の出力が得られるはずです:
<前>#Serverredis_version:5.0.3redis_git_sha1:00000000redis_git_dirty:0redis_build_id:28849dbea6f07cc8redis_mode:standaloneos:Linuxの4.18.0-193.14.2.el8_2.x86_64 x86_64arch_bits:64multiplexing_api:epollatomicvar_api:原子-builtingcc_version:8.3.1process_id:3176run_id:2bf42acb9a0c0f251220c9bf5d66982b1c0b1d87tcp_port:6379uptime_in_seconds: 41uptime_in_days:0hz:10configured_hz:10lru_clock:6324712executable:/usr/bin/redis-serverconfig_file:/etc/redis.conf終了したら、次のステップに進むことができます。
また、Redisシェル内のいくつかの危険なコマンドの名前を変更することをお勧めします。危険なコマンドの1つは「config」です。 Redisパスワードを取得するために使用されます。
「config」コマンドを使用してRedisパスワードを取得する方法を見てみましょう。
まず、次のコマンドを使用してRedisに接続します。
redis-cli
接続したら、次のコマンドでRedisを認証します:
127.0.0.1:6379> AUTH A&#9D3Fs4%#df
次に、次のコマンドを使用してRedisパスワードを取得します。
127.0.0.1:6379> config get requirepass
次の出力でRedisパスワードを取得する必要があります:
1) "requirepass" 2) "A&#9D3Fs4%#df"
ファイル/etc/redis.confを編集して、「config」コマンドの名前を変更できます:
nano /etc/redis.conf
次の行を見つけます:
#rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
そして、それを次の行に置き換えます:
rename-コマンドCONFIGhitredis
ファイルを保存して閉じます。次に、次のコマンドを使用してRedisサービスを再起動します。
systemctl restart redis
次に、次のコマンドを使用してRedisに接続して認証します。
redis-cli
127.0.0.1:6379> AUTH A&#9D3Fs4%#df
次に、「config」コマンドを使用してRedisパスワードを取得します。
127.0.0.1:6379> config get requirepass
次のエラーが発生するはずです:
(エラー)ERR不明なコマンド `config`、引数は` get`、 `requirepass`、で始まります
次に、以下に示すように、名前を変更したコマンドを実行します。
127.0.0.1:6379> hitredis get requirepass
次の出力でRedisパスワードを取得する必要があります:
1) "requirepass" 2) "A&#9D3Fs4%#df"
おめでとう!これで、CentOS 8にRedisサーバーが正常にインストールされ、保護されました。これで、アプリケーションをホストして、Redisキャッシュを使用するように構成できます。ご不明な点がございましたら、お気軽にお問い合わせください。