【发布时间】:2015-05-20 11:23:11
【问题描述】:
我是设置服务器环境和mongoDB的新手。这听起来可能很简单,但是,我真的需要你的帮助。
我正在尝试从本地机器连接到运行 mongodb 实例的虚拟机,当我在单独的远程服务器上运行它时,我认为它应该类似于生产环境。
环境如下:
虚拟机私有 IP:192.168.184.155
本地机和虚拟机的公共 IP:96.88.169.145
我将 /etc/mongod.conf 文件中的 bind_ip 更改为
bind_ip = 127.0.0.1
到
bind_ip = 127.0.0.1,192.168.184.155,96.88.169.145
重启mongod服务后,虚拟机和本地机都无法通过mongodb命令访问mongodb,出现如下错误。
MongoDB shell version: 3.0.1
connecting to: test
2015-03-17T16:02:22.705-0400 W NETWORK Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2015-03-17T16:02:22.707-0400 E QUERY Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
at connect (src/mongo/shell/mongo.js:179:14)
at (connect):1:6 at src/mongo/shell/mongo.js:179
exception: connect failed
但是,如果我改变了
bind_ip = 192.168.184.155
并重新启动服务,它可以工作,我可以使用本地机器上的 mongo 访问。它似乎不适用于多个 IP 地址。我试图在 mongodb 文档中查找,但是,他们确实提到 bind_ip 采用逗号分隔的列表,这让我很困惑。
提前感谢您的帮助。
【问题讨论】:
-
如果使用 bind_ip = 127.0.0.1,192.168.184.155 会怎样?对我来说 96.88.169.145 不是您 VM 上的有效 IP
-
@anhlc 结果是一样的。一旦我添加了多个 IP 地址,它们都不起作用。有什么想法吗?
-
启动mongod时能否从日志中获取解析后的命令行选项?它真的应该工作,所以我想知道这里是否有一些奇怪的 VM 网络障碍?
-
嗨@wdberkeley,非常感谢您提出这个问题!我检查了日志文件,发现了问题!看来我碰巧在下一个 IP 地址之前添加了一个空格,这使整个事情崩溃了。
-
我同意 wdberkeley,总是值得检查日志文件,看看那里是否有任何关于哪里出了问题的线索。
标签: mongodb virtual-machine remote-access