127.0.0.1:6379へのRedis接続が失敗しました-ECONNREFUSEDに接続します


133

expressjsでnode.jsを操作し
ています。アカウントをセッションに保存しようとしています。だから、私はexpressjsのコードでセッションを使用するためにテストしてみます

var RedisStore = require('connect-redis')(express);
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret: "keyboard cat", store: new RedisStore }));

しかし、エラーが発生しましたRedis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
この問題の解決を手伝ってください


3
Redisは稼働していますか?redis-cliなどの他の方法で接続できますか?
悲しい男

3
Redisサーバーが実行されていないため、ありがとうございます。私はこのチュートリアル
Huy Tran

マシンにRedisサーバーをインストールして実行する必要があります。作者がこの重要なことをマニュアルで言及しなかった理由がわかりません!
Emad Aghayi

2
ノードHerokuアプリにredis-serverを追加するにはどうすればよいですか?私にも同じエラーがあります。
amar ghodke

回答:


224

redisをインストールしたら、ターミナルから次のように入力します。

redis-server

そしてあなたはredisを実行するでしょう


3
私にとっては、confを指定する必要があるため、「>>(sudo)redis-server /etc/redis/redis.conf」と入力します
Romans 8.38-39

4
ありがとうございました。チュートリアルの中で、Redisサーバーの起動方法についてまったく言及していませんでした。
Codious-JR 2016

8
redis-server --daemonize yesバックグラウンドで実行する
Morteza Ziyae 2017

61

この問題を次の方法で解決します。

sudo apt-get install redis-server

次に、コマンドを実行して、問題がないことを確認します。

sudo service redis-server status

出力は次のようになりますredis-server is running。-これは問題が解決されたことを意味します。


1
そのエラーは修正されましたが、新しいエラーが表示されるようになりました。たとえば、「エラー: 'set'コマンドの引数の数が間違っています」
vineet

1
ありがとう!これにより問題が解決しました。インストール後のLinux / WSL環境に関するほんの少しのメモで、コマンドを再実行するredis-serverか、必要に応じてsudoでプレフィックスを付けてください。すべてがうまくいくと、redis-server cliメッセージが表示されます。sudo service redis-server status@author によって提案されたようにによって検証することもできます。
ちょうど奇妙な

32

最初にシステムにredisをインストールします-

brew install redis

次に、redisサーバーを起動します。

redis-server



4

私も同じ問題をsudo service restart抱えています。最初にredis-serverを再起動しようとしましたが、問題はまだ残っていました。次に、で削除redis-serversudo apt-get purge redis-serverて再度インストールしましたsudo apt-get install redis-serverが、redisは再び動作していました。ここにあるredisログを見てみる価値もあります/var/log/redis/redis-server.log


4

Windowsユーザーの場合、chocolateyを使用してRedisをインストールできます

choco install redis-64

次にサーバーを実行します

C:\ProgramData\chocolatey\lib\redis-64\redis-server.exe



1

Windowsプラットフォームの場合redis-server、特定のip:portでが実行されているかどうかを確認する必要があります。Redisの設定はインストールディレクトリにあり/conf/redis.confます。デフォルトでは、クライアントは受け入れ127.0.0.1:6379ます。


1

私はMBPを使用していて、redisの詳細をインストールすると問題が解決しました。Redisのダウンロード、抽出、コンパイルを修正しました:

$ wget http://download.redis.io/releases/redis-3.0.2.tar.gz

$ tar xzf redis-3.0.2.tar.gz

$ cd redis-3.0.2

$ make

現在コンパイルされているバイナリは、srcディレクトリにあります。

以下を使用してRedisを実行します。

$ src/redis-server 

1

redisへの接続が失敗しています。redisサーバーを再起動してから、次の3つのコマンドを実行してクライアントを再起動してください。

sudo service redis-server restart
redis-server
redis-cli

3
あなたの答えを説明してください。現在、低品質の投稿と見なされています。ありがとう!
2016年

私はubuntuでこのエラーを受け取りました...このコマンドで解決して
ください..今ではうまくいき

1

多分あなたはソースコードによってredisをインストールしたと思います。それが必要な場合は、redis-source-code-path / utilsを見つけてsudo install_server.shコマンドを実行する必要があります。その後、redis-serverがシステムのサービスとして実行されていることを確認します sudo service redis-server status

PS:Debian / Ubuntuに基づく


1

Ubuntuの場合、エラーはredis-serverがセットアップされていないことが原因です。redis-serverを再度インストールして、ステータスを確認します。

エラーがなければ、次のようなメッセージが表示されます:-

●redis-server.service-Advanced Key-Value Storeロード済み:ロード済み(/lib/systemd/system/redis-server.service; enabled;ベンダープリセット:有効)アクティブ:2018年1月17日(水)以降アクティブ(実行中) :07:27 IST; 16日前ドキュメント:http ://redis.io/documentation、man:redis-server(1)メインPID:4327(redis-server)CGroup:/system.slice/redis-server.service└─4327/ usr / bin / redis-server 127.0.0.1:6379


1

最初にredisサーバーをインストールする必要があります。

次の手順でmacにredisサーバーをインストールできます-

  $ curl -O http://download.redis.io/redis-stable.tar.gz
  $ tar xzvf redis-stable.tar.gz
  $ cd redis-stable
  $ make
  $ make test
  $ sudo make install
  $ redis-server

幸運を。


注意:実行には少し時間がかかります。依存関係マネージャ(brewなど)がある場合、これにより時間を節約できます。
lukas_o

0

私にはUbuntu 18.xでこの問題がありましたが、私の問題は、redis-serverが127.0.0.1で実行されていたが、自分のIPアドレスxxx.xx.xx.xxで実行する必要があることがわかりました

私は自分のUbuntuマシンに入り、次のことを行いました。

cd /etc/redis/

sudo vim redis.conf

その後、この部分を編集しました。

################################## NETWORK #####################################

# By default, if no "bind" configuration directive is specified, Redis listens
# for connections from all the network interfaces available on the server.
# It is possible to listen to just one or multiple selected interfaces using
# the "bind" configuration directive, followed by one or more IP addresses.
#
# Examples:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#
# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
# internet, binding to all the interfaces is dangerous and will expose the
# instance to everybody on the internet. So by default we uncomment the
# following bind directive, that will force Redis to listen only into
# the IPv4 loopback interface address (this means Redis will be able to
# accept connections only from clients running into the same computer it
# is running).le to listen to just one or multiple selected interfaces using
#
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# bind 127.0.0.1 ::1 10.0.0.1
bind 127.0.0.1 ::1 # <<-------- change this to what your iP address is something like (bind 192.168.2.2)

それを保存して、redis-serverを再起動します。

sudo service redis-server restart または単に実行する redis-server


-5

ノードを最新バージョンにアップグレードしてください。

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

バージョン0.4は正しく動作しない可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.