Mongo 3.2版

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

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

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

  netstat -pl

我可以在输出中看到:

tcp 0 0本地主机: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上运行。

09-18 12:00