当前位置: 首页 > 知识库问答 >
问题:

在亚马逊AWS EC2服务器上从Node.js连接到Redis服务器时出错

轩辕远
2023-03-14

我正在尝试运行节点。亚马逊AWS Ec2微实例上的js服务器和Redis服务器。

我已经安装了Redis Server,Redis Server命令运行良好。

我使用“永远”来保持Redis-Server运行。它工作正常。

但当我启动节点服务器时,它无法连接到Redis服务器。

它给出了以下错误-

Error Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 

做一个“永久列表”表明redis服务器运行良好。

info:   Forever processes running
data:       uid  command script                         forever pid   logfile                        uptime          
data:   [0] _pXw node    app.js                         26670   26671 /home/ubuntu/.forever/_pXw.log 0:0:0:13.463    
data:   [1] ylT1 node    redis-server                   25013   26681 

我已经验证了当redis-server启动时,它从6379端口开始。

有谁能帮我解释一下为什么会发生这个错误,以及我如何修复这个错误?

我使用以下代码连接到Redis。我为Redis安装了客户端库。

var redis = require("redis"),
        client = redis.createClient();

当我在本地主机上运行代码时,一切都很好。

共有2个答案

仲孙温文
2023-03-14

您是否使用乒乓例程检查了AWS上的redis客户端-服务器连接。下一步,也许你应该尝试运行它,而不是永远,作为根。

龚永新
2023-03-14

如果您打算在AWS之外使用Redis,您可以尝试以下步骤,帮助我从本地Nodejs应用程序连接在AWS上工作的Redis服务器:

1) 在AWS上:sudo cp/etc/redis/redis。conf.backup/etc/redis/redis。conf.Backup为您节省了大量精力,您可以找出问题所在:)

2)在AWS上:停止redis-server:sudo /etc/init.d/redis-server停止

3) 在AWS上:open/etc/redis/redis。conf并找到一个行绑定127.0.0.1。复制并粘贴绑定0.0.0.0下方的新行。所以可以有几行带有bind参数。顺便说一句,连接端口可以在redis中更改。形态也一样

4)在AWS上:启动redis-server:sudo /etc/init.d/redis-server启动

5)在AWS上:键入redis-cli ping,如果redis-server启动正常,您应该会看到PONG消息

6) 在AWS上:现在为您的跑步isntance打开Security组,并添加带有“Type”的新规则-自定义TCP规则,端口范围-6379

7) 在本地Nodejs应用程序中:

var redisClient=redis.create客户端(redis_port,redis_host);

nodejs redis aws

 类似资料:
  • 我已经在亚马逊 EC2 实例上安装了 Redis 服务器。Redis在服务器上工作正常 现在我想打开端口6379在安全组中“编辑入站规则”你能告诉我我应该使用的类型和协议吗?提前致谢

  • 初始化-iMac:桌面初始化$openssl s_client-connect gateway.sandbox.push.apple.com:2195-cert pushchatcert.pem-key pushchatkey.pem 终端响应: CONNECTED(00000003)深度=1/c=US/O=Entrust,INC./OU=www.Entrust.net/RPA是通过引用合并的/O

  • 问题内容: 我想对redis.conf进行一些更改,以便每当我键入redis-cli时,它就会将我连接到安装在远程服务器上的redis。 我知道我们可以通过以下方式连接到安装在远程服务器上的redis: 但是实际上,我有一些bash脚本,在那些脚本中,我在很多地方都使用过redis-cli。因此,我不想以每个文件中的redis-cli -h’IP- Address-Of-Server’替换redi

  • 问题内容: 我已经使用Ubuntu 10.10服务器上http://redis.io/topics/quickstart上的快速入门指南中的说明成功安装了Redis 。我将服务作为dameon运行(因此可以通过init.d运行) 该服务器是具有内部和外部IP的Rackspace Cluster的一部分。主机在端口6379上运行(Redis的标准配置) 我在iptables中添加了一行,以允许来自端

  • 我的docker版本是1.13.1。我正试图从我的docker容器连接到redis-server,但我遇到了拒绝连接的错误。详细的日志如下: 原因:redis.clients.jedis.exceptions.jedisconnectionException:java.net.Connection:redis.clients.jedis.Connection(Connection.java:207