Redis与127.0.0.1:6379的连接失败-连接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服务器未运行。我安装了redis-server,请按照此教程进行操作
Huy Tran 2012年

您应该在计算机上安装Redis服务器并对其进行符文处理。我不知道为什么作者在手册中没有提到这一重要内容!
Emad Aghayi,

2
如何为节点Heroku应用添加redis服务器?我也有同样的错误。
amar ghodke

Answers:


224

安装redis后,从终端输入:

redis-server

你会运行redis


3
对我来说,我应该指定conf,所以我输入>>(sudo)redis-server /etc/redis/redis.conf
Romans 8.38-39

4
谢谢。愚蠢的他们在教程中从未提到如何启动Redis服务器!
Codious-JR

8
redis-server --daemonize yes在后台运行
Morteza Ziyae

61

我用以下方式解决此问题:

sudo apt-get install redis-server

然后运行命令以确认一切正常:

sudo service redis-server status

输出将是:redis-server is running-表示问题已解决。


1
该错误已修复,但现在显示了新错误,即“错误:ERR错误的'set'命令参数数量”
vineet 2015年

1
谢谢!这就解决了这个问题,在安装了Linux / WSL环境后,只需注意一小步即可重新运行该命令,redis-server或者在需要时以sudo前缀。如果一切顺利,您将看到redis-server cli消息。也可以按照sudo service redis-server status@author的建议进行验证。
刚过




4

我也有同样的问题,首先我尝试重新启动redis-server,sudo service restart但是问题仍然存在。然后我删除redis-serversudo apt-get purge redis-serversudo 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的细节问题已经解决。.Fixed下载,解压缩和编译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
请解释您的答案。目前被视为低质量的帖子。谢谢!
辍学

我在ubuntu中收到此错误...使用此命令解决..现在它工作正常...
Balakumaran

1

我认为也许您是通过源代码安装redis的。如果需要,请找到redis-source-code-path / utils并运行sudo install_server.sh命令。之后,确保redis-server已作为系统的服务运行 sudo service redis-server status

PS:基于Debian / Ubuntu


1

如果是ubuntu,则错误是由于未设置Redis服务器。再次安装redis服务器,然后检查状态。

如果没有错误,则将显示如下消息:

●redis-server.service-高级键值存储已加载:已加载(/lib/systemd/system/redis-server.service;已启用;供应商预设:已启用)主动:自(星期三)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

祝好运。


请注意:这将需要一些时间才能运行。如果您有一个依赖项管理器(棕色或其他),这将节省您的时间。
lukas_o

0

对我来说,我在Ubuntu 18.x上有这个问题,但是我的问题是我的redis服务器在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版可能无法正常工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.