mongodb - 如何使用多个 ip 地址设置 mongod.conf bind_ip

我是设置服务器环境和mongoDB的新手。这听起来可能很简单,但是,我真的需要你的帮助。

我正在尝试从本地机器连接到运行 mongodb 实例的虚拟机,当我在单独的远程服务器上运行它时,我认为它应该类似于生产环境。

环境如下:

  • 虚拟机私有(private)IP:192.168.184.155

  • 本地机和虚拟机的公共(public) 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 需要一个逗号分隔的列表,这让我很困惑。

提前感谢您的帮助。

最佳答案

在 mongo 3.2.7 中将逗号分隔的 Ips 用括号括起来对我来说有效:

bindIp = [127.0.0.1, 192.168.184.155, 96.88.169.145]

https://stackoverflow.com/questions/29109134/

相关文章:

node.js - Node.js/Mongoose 上的 "VersionError: No ma

mongodb - 在 node.js 和 mongodb 中创建注册和登录表单

mongodb - 如何使用 Scala 将 1 亿条记录加载到 MongoDB 中进行性能测试?

node.js - Mongoose 试图打开未关闭的连接

mongodb - 在 MongoDB 中使用 UUID 而不是 ObjectID

mongodb - 相当于 MongoDB 的 ERD?

mongodb - 只安装 mongo shell,不安装 mongodb

javascript - 在 Meteor 应用程序中实现 MongoDB 2.4 的全文搜索

javascript - MongoDB - 更新集合中所有记录的最快方法是什么?

ruby-on-rails - mongoid 中 embeds_many 和 has_many 的