Nodejs下mongodb 2.6.0 社区版,HTTP interface 怎么开启?
Nodejs下mongodb 2.6.0 社区版,HTTP interface 怎么开启?
俩问题。。。
1,HTTP interface 的问题:
更新了mongodb-org 2.6.0,也修改了 mongodb.conf
里面的:
nohttpinterface = false
重启mongodb还是没有开启28017端口,这个是什么情况哦?
2,社区版和企业版,哪个更合适普通的公网+防火墙(Ubuntu 的 ufw,只允许固定 IP 访问 27017
)环境?
企业版那些权限控制,基本用不到,所以就安装了社区版,不知道这个选择对不对,请专家指教。
谢谢!
针对您提出的问题,我会分别解答关于如何在Node.js环境下开启MongoDB的HTTP接口以及选择社区版或企业版MongoDB的适用性。
1. 如何在Node.js环境下开启MongoDB的HTTP接口
首先需要澄清的是,MongoDB本身并不直接提供HTTP接口。但是,可以通过第三方工具如mongo-express
来实现这一功能。mongo-express
是一个基于Web的MongoDB管理界面,它提供了通过HTTP访问MongoDB的功能。
安装mongo-express
你可以使用npm来安装mongo-express
:
npm install -g mongo-express
配置mongo-express
安装完成后,你需要配置mongo-express
以连接到你的MongoDB实例。这通常涉及到编辑配置文件(默认为config.js
),设置MongoDB的连接字符串等信息。
// 示例 config.js 文件配置
module.exports = {
// MongoDB连接字符串
db: 'mongodb://localhost:27017/your_database_name',
// HTTP服务监听的端口
port: 8081,
};
启动mongo-express
配置完成后,你就可以启动mongo-express
服务了:
mongo-express
此时,你应该能够通过浏览器访问http://localhost:8081
来管理和操作你的MongoDB数据库。
2. 社区版与企业版的选择
对于普通公网环境加上防火墙限制(仅允许特定IP访问27017
端口)的情况,MongoDB社区版通常是足够的。社区版提供了大多数开发和生产所需的特性,并且与企业版相比,在功能上主要的区别在于一些高级的安全性和监控功能。如果你不需要这些额外的功能,社区版是一个更轻量级、成本效益更高的选择。
总之,根据您的需求,社区版MongoDB可能更适合您的情况。当然,如果未来有更多安全或监控方面的需求,您可以考虑升级到企业版。
自己顶一下吧……
研究了一下,原来还是可以在配置文件中启用的,详见:
http://docs.mongodb.org/manual/reference/configuration-options/#net.http.enabled
针对你的问题,我将分两部分进行回答:
1. 开启 MongoDB HTTP Interface
在 MongoDB 2.6 版本中,默认情况下,HTTP 界面是被禁用的。你需要手动启用它。以下是如何配置 mongodb.conf
文件以启用 HTTP 界面:
首先,确保在 mongodb.conf
文件中添加或修改以下行:
net:
http:
enabled: true
RESTInterfaceEnabled: true
这样配置后,MongoDB 会监听默认的 27017 端口上的 HTTP 请求。如果你希望使用不同的端口(例如 28017),可以添加 port
配置项:
net:
http:
enabled: true
RESTInterfaceEnabled: true
port: 28017
保存并关闭配置文件后,重启 MongoDB 服务使更改生效。
2. 社区版 vs 企业版
对于普通的公网 + 防火墙环境,社区版通常已经足够使用。企业版提供了更多的功能,如加密、审计和监控等高级安全特性。但是,这些功能在大多数普通应用场景中可能并不需要。因此,社区版更适合你的需求。
如果你只需要基础的功能,并且不关心高级安全特性和管理工具,那么安装社区版是合适的。只需确保通过防火墙规则限制对数据库端口的访问即可。
希望以上信息对你有所帮助!