Redisのインストールから運用まで:完全ガイドと「Failed listening on port 6379 (tcp)」エラーの解決方法

現代のバックエンドシステムにおいて、Redis は高速キャッシュ、メッセージブローカー、あるいはキー・バリュー型データベースとして広く利用されています。データをメモリ上に保存するアーキテクチャにより、Redisは非常に高速なデータアクセスを実現し、多くの大規模Webアプリケーションの基盤として採用されています。

しかし、初心者がRedisをインストールして起動する際には、いくつかの一般的なエラーに遭遇することがあります。その中でも特に多いのが 「Failed listening on port 6379 (tcp), aborting」 というエラーです。これはRedisがデフォルトポートである6379を使用できない場合に発生します。

本記事では、Redisのインストール方法、サービスの起動、動作確認、そしてポート6379に関するエラーの解決方法までを詳しく解説します。

Redisとは何か、そしてなぜ広く利用されているのか

Redisは インメモリ型データストア(in-memory data store) です。つまり、データをディスクではなくRAMに保存します。この仕組みにより、Redisは非常に高速なレスポンスを実現し、通常は数マイクロ秒でデータ処理が可能です。

Redisは次のような多様なデータ構造をサポートしています。

  • String
  • List
  • Set
  • Sorted Set
  • Hash
  • Stream

そのためRedisは多くの用途で利用されています。

  • Webアプリケーションのキャッシュ
  • ユーザーセッション管理
  • バックグラウンドジョブキュー
  • リアルタイム分析
  • Publish/Subscribe メッセージング

Redisのデフォルトポートは 6379 であり、多くのアプリケーションはこのポートを通じてRedisに接続します。

第1章:Linux(Ubuntu)でRedisをインストールする

現在、多くのサーバー環境はLinux、特にUbuntuやDebianを使用しています。これらの環境ではRedisのインストールは比較的簡単です。

ステップ1:システムの更新

Redisをインストールする前に、パッケージリストを更新します。

sudo apt update
sudo apt upgrade

これにより、最新のパッケージが利用され、依存関係の問題を防ぐことができます。

ステップ2:Redisのインストール

次のコマンドでRedisをインストールします。

sudo apt install redis-server

インストールが完了すると、Redisは system service として登録されます。

ステップ3:Redisの状態確認

Redisが正常に起動しているか確認します。

sudo systemctl status redis

正常に動作している場合、次のように表示されます。

active (running)

第2章:Redisの起動とサービス管理

RedisはLinuxのサービス管理システムで操作できます。

Redisを起動する

sudo systemctl start redis

Redisを停止する

sudo systemctl stop redis

Redisを再起動する

sudo systemctl restart redis

サーバー起動時にRedisを自動起動する

sudo systemctl enable redis

これにより、サーバーが再起動してもRedisが自動で起動します。

第3章:Redisが正常に動作しているか確認する

Redisには接続確認用のCLIツールが用意されています。

次のコマンドを実行します。

redis-cli

その後、以下を入力します。

ping

Redisが正常に動作している場合、次の応答が返ります。

PONG

これはRedisサーバーが接続を受け付けていることを意味します。

第4章:Redis起動時によくあるエラー

Redisを起動する際、次のようなエラーが発生することがあります。

Failed listening on port 6379 (tcp), aborting

このエラーは、Redisがポート 6379 を使用できない場合に発生します。

主な原因は次の通りです。

  • 他のプログラムが6379ポートを使用している
  • 別のRedisインスタンスがすでに起動している
  • Redisの設定ミス
  • Dockerコンテナなどがポートを占有している

第5章:ポート6379が使用中か確認する

まず、どのプロセスがポートを使用しているか確認します。

sudo lsof -i :6379

または

netstat -tulpn | grep 6379

ポートが使用されている場合、プロセスID(PID)が表示されます。

例:

redis-server 1234 root TCP *:6379 (LISTEN)

第6章:ポートを使用しているプロセスを停止する

もしRedisがすでに起動している場合は停止します。

sudo systemctl stop redis

別のプロセスが使用している場合は、次のコマンドで終了させます。

sudo kill -9 PID

PIDを実際のプロセスIDに置き換えてください。

その後Redisを再起動します。

sudo systemctl start redis

第7章:Redisのポートを変更する

環境によっては6379ポートを変更する必要があります。

設定ファイルを開きます。

/etc/redis/redis.conf

次の行を探します。

port 6379

例えば次のように変更します。

port 6380

その後Redisを再起動します。

sudo systemctl restart redis

第8章:bind設定を確認する

bind設定が正しくない場合、Redisが起動できないことがあります。

設定ファイル内で次の行を確認します。

bind 127.0.0.1

これはRedisがローカルホストのみで接続を受け付ける設定です。

外部接続を許可する場合は次のように変更できます。

bind 0.0.0.0

ただし、セキュリティ対策を必ず行う必要があります。

第9章:修正後のRedis動作確認

エラーを修正した後、再度確認します。

redis-cli ping

次の応答が返れば正常です。

PONG

Redisは正常に動作しています。

まとめ

Redisは現代のバックエンドシステムにおいて非常に重要なツールです。インストールや基本的な運用は比較的簡単ですが、ポート設定やサービス管理の問題により 「Failed listening on port 6379 (tcp)」 エラーが発生することがあります。

ポートの使用状況を確認し、サービスを管理し、設定ファイルを適切に編集することで、これらの問題は迅速に解決できます。

大規模システムでは、Redisはレプリケーション、クラスタリング、Sentinelなどと組み合わせて利用されることが多く、高可用性とスケーラビリティを実現するための重要なインフラコンポーネントとなっています。