linux - 让 Linux 上的 MongoDB 监听远程连接

我已经成功地将 MongoDB 作为服务安装在 Windows 上(在本地机器上),但现在我想将 MongoDb 移动到单独的服务器上。所以我将压缩包解压到网络上的虚拟服务器(运行 linux)。

当我从本地机器使用 PuTTY 连接到服务器(“testmongoserver”)时,我启动了 mongod 服务器,它告诉我它正在监听默认的 28017 端口。 mongo 控制台也在工作,允许我创建一个新数据库 (testdb) 并向其中添加用户。

但是,我无法从远程访问服务器。当我键入 testmongoserver:28017 时,它不会像本地计算机上的 localhost:28017 那样打开 HTTP 控制台。我也无法使用官方驱动程序并提供连接字符串。

在 Linux 上安装 MongoDB 的必要步骤是什么,以便我可以通过连接字符串从远程机器访问它并通过 testmongoserver:28017

使用其 HTTP 控制台

谢谢!

最佳答案

1。绑定(bind)IP选项

绑定(bind) IP 是一个 MongoDB 选项,可将连接限制到特定 IP。

查看您的 mongod 配置文件,出于明显的安全原因,大部分时间 bind_ip 设置为 127.0.0.1。你可以:

  1. 通过连接逗号分隔值列表来添加所需的 IP,以将 MongoDB 绑定(bind)到多个 IP 地址。
  2. 删除或注释(使用 # 字符)bind_ip 行。但请注意,所有远程连接都可以连接到您的 MongoDB 服务器!

更多关于 bind_ip 配置选项:https://docs.mongodb.com/manual/reference/configuration-options/#net.bindIp

绑定(bind)IP也可以设置为命令参数:http://docs.mongodb.org/manual/reference/program/mongod/#cmdoption--bind_ip

2。防火墙

检查您没有在防火墙后面运行

https://stackoverflow.com/questions/7159737/

相关文章:

mongodb - 仅返回嵌套数组中匹配的子文档元素

shell - 如何从 Mongo ObjectID 中提取创建日期

node.js - 创建后如何在 mongoose 中填充子文档?

mongodb - 查询 MongoDB 的 IDE?

mongodb - 如何在 MongoDB 中汇总总和以获得总计数?

python - 在 Meteor 运行时,如何从另一个客户端访问 Meteor 的 MongoDB

arrays - MongoDB:如何更新数组中的单个子元素,由数组中的索引引用?

mongodb - 如何从 find 方法返回 Mongoose 结果?

mongodb - 大型项目的 NodeJS vs Play 框架

mongodb - Mongoose:深人口(填充人口密集的领域)