AWS 实例上的 MongoDB,原因 : errno:61 Connection refused

标签 mongodb amazon-web-services

Mongo 3.2 版

我在 AWS 的一个实例上设置了 MongoDB。

然后我将它添加到安全组中,作为防火墙的异常(exception)。具体来说,我将其设置为客户 TCP 规则,但端口 27017 除外。

如果我 ssh 到实例并执行以下操作:

  netstat -pl

我可以在输出中看到:

tcp 0 0 localhost:27017 : LISTEN 2025/mongod

所以 mongodb 正在运行,它正在监听端口 27017,并将 27017 的异常添加到防火墙中。

但在我的本地 Mac 上,当我尝试连接时,出现错误:

  mongo ec2-154-52-32-196.compute-1.amazonaws.com:27017/vvvvv -u ccccc -p xxxx

  MongoDB shell version: 3.2.6
  connecting to: ec2-54-152-232-96.compute-1.amazonaws.com:27017/vvvvv
  2016-05-06T09:52:07.281-0400 W NETWORK  [thread1] Failed to connect to 54.152.232.96:27017, reason: errno:61       Connection refused
  2016-05-06T09:52:07.281-0400 E QUERY    [thread1] Error: couldn't connect to server       ec2-54-152-232-96.compute-1.amazonaws.com:27017, connection attempt failed :
  connect@src/mongo/shell/mongo.js:231:14
  @(connect):1:6

  exception: connect failed

我还需要做什么才能连接?

[[更新]]

所以我:

  emacs /etc/mongod.conf 

我加上 0.0.0.0:

  net:
    port: 27017
    bindIp: 127.0.0.1,0.0.0.0

然后:

  service mongod restart
  mongod stop/waiting
  mongod start/running, process 5315

但我仍然遇到与以前相同的错误

嗯,我在 netstat -pl 中不再看到它了

最佳答案

从 netstat 输出: tcp 0 0 localhost:27017 : LISTEN 2025/mongod - 看起来它只接受来自 localhost(samehost) 的连接 - 你必须让它在 0.0.0.0 或公共(public) IP 上运行。

关于AWS 实例上的 MongoDB,原因 : errno:61 Connection refused,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37074486/

相关文章:

xcode - 我的亚马逊插页式广告不起作用......我正在调用一个函数来显示它们,但它们没有显示......为什么?

ios - 安全文件直接上传到 s3 或服务器到 s3(从 iOS 应用程序)

node.js - Node.js 和 Mongoose 中的补丁请求方法

mongodb - MongoDB : how to use refs to documents in other collections 中缺少类似连接查询的数据库设计

javascript - 为什么 mongoose abortTransaction() 不工作?

amazon-web-services - 如何在 AWS Lightsail 上登录 PHPMyAdmin?

mongodb - Heroku + Node.js + MongoHQ + Expressjs

javascript - meteor JS : resubscribe/refresh a Collection?

amazon-web-services - shell 访问 ec2 实例

amazon-s3 - EMR 如何将文件合并为一个?