【问题标题】:Is there a web server running in mongo?是否有在 mongo 中运行的 Web 服务器?
【发布时间】:2013-10-02 14:39:22
【问题描述】:

当我启动配置服务器时,我可以在记录器中看到以下行:

[websvr] admin web console waiting for connections on port 27017

那么,我想知道 mongo 是否使用 Web 服务器来维护配置数据?

【问题讨论】:

标签: mongodb mongoid mongoose mongo-java


【解决方案1】:

(所有这些都假设您使用的是当前版本的 MongoDB,2.4 或更高版本)

不,MongoDB 不会以任何方式使用 Web 服务器进行配置或管理(如文档中的 here 所述)。但是,有一个用于其他用途的最小 Web 服务器。

在MongoDB启动时通过配置文件或命令行进行配置。

有一个基本的、可选配置的网页,其中包含一些管理员可能感兴趣的统计信息,记录在 here 并称为 Http 控制台。如果启用,则默认情况下在 http://localhost:28017 可用。它可以通过nohttpinterface 记录的here 选项禁用。此外,还有一个不推荐用于生产 REST api,可用于某些测试和开发任务。

作为一个例子,我刚刚确认nohttpinterface 设置没有在配置文件中设置为 true(在这个例子中我有一个自定义端口,因为我有另一个 MongoDB 实例已经在运行)

verbose=true
port=25017

然后我启动了 MongoDB。在日志文件中,这是存在的:

Thu Sep 26 11:11:06.645 [websvr] admin web console waiting for connections on port 26017
Thu Sep 26 11:11:06.645 [initandlisten] waiting for connections on port 25017

然后,我在配置文件中添加了nohttpinterface 选项:

verbose=true
port=25017
nohttpinterface=true

重启 MongoDB 后,我无法访问 Http 控制台。网络服务器没有启动(这次日志中没有提到websvr)。

Thu Sep 26 11:11:34.028 [initandlisten] waiting for connections on port 25017

【讨论】:

  • 草原我可以通过浏览器查看它,即使我设置了 nohttpinterface=true 并且在我的服务器中它从端口 27017 开始
  • 您正在查看的“它”是什么?
  • 这是@WiredPrairie。 :) 我刚刚将 nohttpinterface=true 添加到 MongoDB 配置文件中。启动了 MongoDB。我无法访问 Http 控制台。然后我关闭了 MongoDB。我删除了 nohttpinterface 的行并重新启动了 MongoDB。然后我可以访问它。尝试将默认端口更改为不同的数字:port=25017。 HttpConsole 将位于高 1000 的端口,因此 http://localhost:26017
  • 我的默认端口是 26017,所以我可以在 27017 访问它,我停止了 mongod,然后将 nohhpinterface 设为 true,然后再次启动 mongod,但我可以访问。我正在使用 centos
【解决方案2】:

是的,mongodb 有一个内置的管理界面。您可以在 HTTP 接口上阅读 http://docs.mongodb.org/ecosystem/tools/http-interfaces/#http-interface

【讨论】:

  • 他们无论如何都要禁用它吗?我试过 nohttpinterface 但它不起作用
猜你喜欢
  • 2020-12-24
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多