ウェブサイト検索

CentOS および Debian ベースのシステムに Redis サーバーをインストールする方法


Redis は、オープンソースの高性能かつ柔軟なメモリ内データ構造ストア (キー/値形式) であり、データベース、キャッシュ、メッセージ ブローカーとして使用されます。これはANSI Cで書かれており、外部依存関係なく、Linux (導入を推奨) を含む、すべてではないにしてもほとんどの Unix 系オペレーティング システムで動作します。

機能が豊富で、複数のプログラミング言語と、文字列、ハッシュ、リスト、セット、範囲クエリを含むソートされたセット、ビットマップなどのデータ構造をサポートしています。

Redis の機能:

  • ほんの数例を挙げると、C、Bash、Python、PHP、Node.js、Perl、Ruby を含むほとんどのプログラミング言語をサポートします。
  • 固有のレプリケーション、Lua スクリプト、LRU エビクション、トランザクション、およびさまざまなレベルのディスク上の永続性を備えています。
  • Redis Sentinel による高可用性と Redis Cluster による自動パーティショニングを提供します。
  • アトミック操作の実行をサポートします。
  • メモリ内のデータセットと連携して、優れたパフォーマンスを実現します。
  • セットアップが簡単なマスター/スレーブの非同期レプリケーションをサポートします。
  • 自動フェイルオーバーをサポートします。
  • 一定期間、または各コマンドをログに追加して、データセットをディスクに頻繁に保存できます。
  • オプションで永続性を無効にすることができます。
  • パブリッシュ/サブスクライブメッセージングをサポートします。
  • また、MULTI、EXEC、DISCARD、WATCH トランザクションなどもサポートします。

要件:

  1. 最小限のインストールによる CentOS 7 サーバーおよび RHEL 7 サーバー
  2. 最小限のインストールを備えた Ubuntu サーバーまたは Debian サーバー
  3. GCC コンパイラと libc

このチュートリアルでは、Linux にソースから Redis サーバーをインストールする方法 (推奨される方法) について説明します。 Redis を構成、管理、保護する方法についても説明します。 Redis はすべてのデータをメモリから提供するため、このガイドでは高メモリ VPS サーバーを使用することを強くお勧めします。

ステップ 1: Redis サーバーをソースからインストールする

1. まず、必要なビルドの依存関係をインストールします。

--------------- On CentOS / RHEL / Fedora --------------- 
yum groupinstall "Development Tools"
dnf groupinstall "Development Tools"

--------------- On Debian / Ubuntu --------------- 
sudo apt install build-essential

2. 次に、wget コマンドを使用して、常に最新の安定した Redis を指す特別な URL を使用して、最新の安定した Redis バージョンをダウンロードしてコンパイルします。

wget -c http://download.redis.io/redis-stable.tar.gz
tar -xvzf redis-stable.tar.gz
cd redis-stable
make 
make test
sudo make install

3. Redis のコンパイル後、Redis ディストリビューション内の src ディレクトリに、Redis の一部である次のさまざまな実行可能ファイルが追加されます。

  • redis-server – redis サーバー。
  • redis-sentinel – redis Sentinel 実行可能ファイル (モニタリングとフェイルオーバー)。
  • redis-cli – Redis と対話するための CLI ユーティリティ。
  • redis-benchmark – Redis のパフォーマンスをチェックするために使用されます。
  • redis-check-aofredis-check-dump – まれにデータ ファイルが破損した場合に役立ちます。

ステップ 2: Linux で Redis サーバーを構成する

4. 次に、init システム (このチュートリアルでは systemd) によって管理される開発環境用に Redis を構成する必要があります。 。まず、Redis 構成ファイルとデータを保存するために必要なディレクトリを作成します。

sudo mkdir /etc/redis
sudo mkdir -p /var/redis/

4. 次に、提供されたテンプレート Redis 構成ファイルを、上で作成したディレクトリにコピーします。

sudo cp redis.conf /etc/redis/

5. 次に、構成ファイルを開き、次のようにいくつかの設定を更新します。

sudo vi /etc/redis/redis.conf

6. 次に、次のオプションを検索し、ローカル環境のニーズに応じてデフォルト値を変更 (または使用) します。

port  6379				#default port is already 6379. 
daemonize yes				#run as a daemon
supervised systemd			#signal systemd
pidfile /var/run/redis.pid 		#specify pid file
loglevel notice				#server verbosity level
logfile /var/log/redis.log		#log file name
dir  /var/redis/			#redis directory

ステップ 3: Redis Systemd ユニット ファイルを作成する

7. 次のコマンドを実行して、デーモンを制御するために Redis の systemd ユニット ファイルを作成する必要があります。

sudo vi /etc/systemd/system/redis.service

そして、以下の設定を追加します。

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

ファイルを保存して閉じます。

ステップ 4: Linux で Redis サーバーを管理およびテストする

8. 必要な構成をすべて実行したら、Redis サーバーを起動できます。現時点では、システム起動時の自動起動を有効にします。次に、次のようにステータスを表示します。

sudo systemctl start redis
sudo systemctl enable redis
sudo systemctl status redis

9. 次に、Redis セットアップ全体が正常に動作しているかどうかをテストします。 Redis サーバーと対話するには、redis-cli コマンドを使用します。サーバーに接続した後、いくつかのコマンドを実行してみてください。

redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10. 次に、exit コマンドを使用して接続を閉じ、redis サーバーを再起動します。その後、以下に示すように、mykey がまだサーバーに保存されているかどうかを確認します。

127.0.0.1:6379> exit
sudo systemctl restart redis
redis-cli
127.0.0.1:6379> get mykey

11. キーを削除するには、次のように delete コマンドを使用します。

127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey

ステップ 5: Linux での Redis サーバーの保護

12. このセクションは、インターネットなどの外部ネットワークに接続された Redis サーバーを使用するユーザーを対象としています。

重要: セキュリティなしで redis をインターネットに公開すると、悪用が非常に簡単になります。したがって、次のように Redis サーバーを保護します。

  • ファイアウォールで保護されたシステムの Redis ポートへの接続をブロックする
  • バインド ディレクティブをループバック インターフェイスに設定します: 127.0.0.1
  • クライアントが AUTH コマンドを使用して認証する必要があるように、requirepass オプションを設定します。
  • Redis サーバーと Redis クライアント間のトラフィックを暗号化するために SSL トンネリングを設定します。

使用法の詳細については、以下のコマンドを実行してください。

redis-cli -h

Redis ホームページ: https://redis.io/ から、その他のサーバー コマンドを検索し、アプリケーション内で Redis を使用する方法を学ぶことができます。

このチュートリアルでは、Linux で Redis をインストール、構成、管理し、セキュリティで保護する方法を説明しました。ご意見がございましたら、以下のコメント フォームをご利用ください。