MongoDB 是一种常用的开源高性能 NoSQL 数据库。 本文介绍如何在 Azure 中的 Windows Server 2016 虚拟机(VM)上安装和配置 MongoDB。 还可以 在 Azure 中的 Linux VM 上安装 MongoDB。
先决条件
在安装和配置 MongoDB 之前,需要创建 VM,理想情况下,需要向其添加数据磁盘。 请参阅以下文章来创建 VM 并添加数据磁盘:
- 使用 Azure 门户 或 Azure PowerShell 创建 Windows Server VM。
- 使用 Azure 门户 或 Azure PowerShell 将数据磁盘附加到 Windows Server VM。
若要开始安装和配置 MongoDB,请使用远程桌面 登录到 Windows Server VM 。
安装 MongoDB
重要
默认情况下,不会启用 MongoDB 安全功能,例如身份验证和 IP 地址绑定。 在将 MongoDB 部署到生产环境之前,应启用安全功能。 有关详细信息,请参阅 MongoDB 安全性和身份验证。
使用远程桌面连接到 VM 后,从任务栏中打开 Internet Explorer。
首次打开 Internet Explorer 时,选择 “使用建议的安全、隐私和兼容性设置 ”,然后单击“ 确定”。
默认情况下,Internet Explorer 增强的安全配置处于启用状态。 将 MongoDB 网站添加到允许的站点列表中:
选择右上角的 “工具” 图标。
在 Internet 选项中,选择 “安全 ”选项卡,然后选择 “受信任的站点 ”图标。
单击“ 网站 ”按钮。 将 https://*.mongodb.com 添加到受信任的站点列表中,然后关闭对话框。
如果需要,请选择 Community Server 版本,然后选择Windows Server 2008 R2 64 位及更高版本的最新稳定版本。 若要下载安装程序,请单击“下载”(msi)。
下载完成后运行安装程序。
阅读并接受许可协议。 出现提示时,选择“ 完成 安装”。
如果需要,可以选择同时安装 Compass,这是 MongoDB 的图形界面。
在最后一个屏幕上,单击“ 安装”。
配置 VM 和 MongoDB
MongoDB 安装程序不会更新路径变量。 如果没有路径变量中的 MongoDB
bin
位置,则每次使用 MongoDB 可执行文件时都需要指定完整路径。 若要将位置添加到路径变量,请执行以下作:右键单击“ 开始 ”菜单,然后选择“ 系统”。
单击 “高级系统设置”,然后单击“ 环境变量”。
在 “系统变量”下,选择 “路径”,然后单击“ 编辑”。
将路径添加到 MongoDB
bin
文件夹。 MongoDB 通常安装在 C:\Program Files\MongoDB 中。 验证 VM 上的安装路径。 以下示例将默认的 MongoDB 安装位置添加到PATH
变量:;C:\Program Files\MongoDB\Server\3.6\bin
注释
请务必在您的
PATH
变量中添加前导分号(;
),以表示您正在添加一个位置。
在数据磁盘上创建 MongoDB 数据和日志目录。 从 “开始” 菜单中,选择 命令提示符。 以下示例在驱动器 F 上创建目录:
mkdir F:\MongoData mkdir F:\MongoLogs
使用以下命令启动 MongoDB 实例,相应地调整数据和日志目录的路径:
mongod --dbpath F:\MongoData\ --logpath F:\MongoLogs\mongolog.log
MongoDB 可能需要几分钟时间才能分配日志文件并开始侦听连接。 当服务器启动和分配日志文件时
mongod.exe
,所有日志消息将定向到 F:\MongoLogs\mongolog.log 文件。注释
当 MongoDB 实例正在运行时,命令提示符将专注于此任务。 使命令提示符窗口保持打开状态以继续运行 MongoDB。 或者,将 MongoDB 作为服务安装,如下一步中详细说明。
若要获得更可靠的 MongoDB 体验,请将
mongod.exe
安装为服务。 创建服务意味着每次想要使用 MongoDB 时都无需保留命令提示符。 按如下所示创建服务,相应地调整数据和日志目录的路径:mongod --dbpath F:\MongoData\ --logpath F:\MongoLogs\mongolog.log --logappend --install
上述命令创建名为 MongoDB 的服务,其中包含“Mongo DB”的说明。 还指定了以下参数:
- 该
--dbpath
选项指定数据目录的位置。 - 该
--logpath
选项必须用于指定日志文件,因为正在运行的服务没有用于显示输出的命令窗口。 - 该
--logappend
选项指定重新启动服务会导致输出追加到现有日志文件。
若要启动 MongoDB 服务,请运行以下命令:
net start MongoDB
有关创建 MongoDB 服务的详细信息,请参阅 配置适用于 MongoDB 的 Windows 服务。
- 该
测试 MongoDB 实例
将 MongoDB 作为单个实例运行或作为服务安装后,现在可以开始创建和使用数据库。 若要启动 MongoDB 管理程序,请从 “开始” 菜单打开另一个命令提示符窗口,然后输入以下命令:
mongo
可以使用命令列出数据库 db
。 插入一些数据,如下所示:
db.foo.insert( { a : 1 } )
按如下所示搜索数据:
db.foo.find()
输出类似于以下示例:
{ "_id" : "ObjectId("57f6a86cee873a6232d74842"), "a" : 1 }
按如下所示退出mongo
控制台:
exit
配置防火墙和网络安全组规则
安装并运行 MongoDB 后,请在 Windows 防火墙中打开端口,以便远程连接到 MongoDB。 若要创建新的入站规则以允许 TCP 端口 27017,请打开管理 PowerShell 提示符并输入以下命令:
New-NetFirewallRule `
-DisplayName "Allow MongoDB" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 27017 `
-Action Allow
还可以使用 具有高级安全性的 Windows 防火墙 图形管理工具创建规则。 创建新的入站规则以允许 TCP 端口 27017。
如果需要,请创建网络安全组规则,以允许从现有 Azure 虚拟网络子网外部访问 MongoDB。 可以使用 Azure 门户 或 Azure PowerShell 创建网络安全组规则。 与 Windows 防火墙规则一样,允许 TCP 端口 27017 连接到 MongoDB VM 的虚拟网络接口。
注释
TCP 端口 27017 是 MongoDB 使用的默认端口。 可以在手动启动或从服务启动mongod.exe
时使用--port
参数更改此端口。 如果更改端口,请确保在前面的步骤中更新 Windows 防火墙和网络安全组规则。
后续步骤
本教程介绍了如何在 Windows VM 上安装和配置 MongoDB。 现在,可以按照 MongoDB 文档中的高级主题访问 Windows VM 上的 MongoDB。