【问题标题】:MongoDB Internet connection failureMongoDB Internet 连接失败
【发布时间】:2013-07-11 17:58:59
【问题描述】:

我在 Ubuntu 12.04LTS 服务器上设置并运行了 MongoDB。在 localhost 和使用 macs 和 linux 机器的本地网络内的计算机上一切正常。但是,当我尝试通过 Internet 连接时,例如: 蒙戈--主机 我明白了:

MongoDB shell version: 2.4.4
connecting to: mydomain.com:27017/test
Thu Jul 11 13:22:09.102 JavaScript execution failed: Error: couldn't connect to server  mydomain.com:27017 at src/mongo/shell/mongo.js:L114
exception: connect failed

但是,如果我连接为:

mongo --host mydomain.com --nodb

我明白了:

MongoDB shell version: 2.4.4

但我无法连接到任何数据库

我的 mongodb.conf 文件内容如下:

dbpath=/data/db

#where to log
logpath=/data/mongo/mongodb.log

logappend=true
bind_ip = 0.0.0.0
port = 27017
auth = false here

iptables 包含:

ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:28017
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:27017

我可以连接mongodb web monitor了

/data/db 权限设置为 777

那我做错了什么?

【问题讨论】:

  • 是否需要指定bind_ip?我相信 MongoDB 默认绑定所有 IP。事实上,我知道指定 0.0.0.0 用于使其绑定到主机名(不确定是否仍然如此)
  • 我两种方式都没有区别
  • 为了排除其他问题,能否通过其他方式外部连接服务器。比如说,SSH 还是只是 ping?
  • 另外,也许尝试在 mongo 服务器上执行 netstat -a。
  • 很可能您的服务器位于 NAT 之后,而不是在实际的直接互联网上,或者它有多个 IP 地址,其中一个可以在本地网络之外访问。您可能想知道是否是这种情况,然后在启动 mongod 时绑定到正确的 ip。如果您在防火墙后面,则需要配置防火墙以将端口转发到正确的服务器。一样东西。将您的数据库服务器打开到互联网永远永远不会很好。

标签: mongodb database-connection


【解决方案1】:

如果是EC2服务器,很可能需要在EC2控制台配置安全策略,在这里可以开启公共端口访问。

【讨论】:

  • 那么请用ps命令检查mongod进程是否已经启动。
  • 是的,mongod 正在运行,我可以在服务器或局域网上的计算机上正常连接
猜你喜欢
  • 2017-02-11
  • 2011-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-22
  • 2017-11-09
  • 2021-05-09
  • 2017-10-05
相关资源
最近更新 更多