【问题标题】:MongoDB on an AWS instance, reason: errno:61 Connection refusedAWS 实例上的 MongoDB,原因:errno:61 连接被拒绝
【发布时间】:2016-05-06 14:06:36
【问题描述】:

Mongo 3.2 版

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

然后我将它添加到安全组中,作为防火墙的例外。具体来说,我将此设置为客户 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 中不再看到它了

【问题讨论】:

    标签: mongodb amazon-web-services


    【解决方案1】:

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

    【讨论】:

    • 啊,好吧。你有我应该阅读的文档的链接吗?
    • 您需要在 /etc/mongodb.conf 文件中将 bind_ip 更改为 0.0.0.0。
    • 我编辑了:# network interfaces net: port: 27017 bindIp: 127.0.0.1,0.0.0.0
    • 重启了还是一样的问题
    • 你应该在你的 mongodb.conf 中有这个:bind_ip=0.0.0.0 而不是 bindIp: 127.0.0.1,0.0.0.0。完成更改后,重新加载 mongodb 服务。运行sudo netstat -lnp | grep mongo,您应该会在输出中看到0.0.0.0 而不是localhost/127.0.0.1
    【解决方案2】:

    签入/etc/mongod.conf

    # Listen to local interface only. Comment out to listen on all interfaces.
    bind_ip=127.0.0.1
    

    评论该行并重新加载服务。它应该可以工作。

    【讨论】:

      【解决方案3】:

      我在/etc/mongod.conf中修改

      # network interfaces
          net:
            port: 27017
      #  bindIp: 127.0.0.1  
            bindIp: 0.0.0.0`
      

      那么,

      sudo service mongod restart
      
      
      sudo netstat -utpl | grep mongo
      

      并检查是否出现:0.0.0.0:27017,

      【讨论】:

        【解决方案4】:

        写这个答案,如果上面提到的答案不能解决某人的问题,你还应该通过键入在你的 linux(在这种情况下是 ubuntu)中添加防火墙例外

        > sudo ufw allow 27017/tcp 
        

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-06-18
          • 2011-08-02
          • 2014-09-28
          • 1970-01-01
          • 2014-03-01
          • 2017-04-10
          • 2019-08-07
          相关资源
          最近更新 更多