在 Azure 中的 Windows VM 上安装和配置 MongoDB

MongoDB 是一种常用的开源高性能 NoSQL 数据库。 本文介绍如何在 Azure 中的 Windows Server 2016 虚拟机(VM)上安装和配置 MongoDB。 还可以 在 Azure 中的 Linux VM 上安装 MongoDB

先决条件

在安装和配置 MongoDB 之前,需要创建 VM,理想情况下,需要向其添加数据磁盘。 请参阅以下文章来创建 VM 并添加数据磁盘:

若要开始安装和配置 MongoDB,请使用远程桌面 登录到 Windows Server VM

安装 MongoDB

重要

默认情况下,不会启用 MongoDB 安全功能,例如身份验证和 IP 地址绑定。 在将 MongoDB 部署到生产环境之前,应启用安全功能。 有关详细信息,请参阅 MongoDB 安全性和身份验证

  1. 使用远程桌面连接到 VM 后,从任务栏中打开 Internet Explorer。

  2. 首次打开 Internet Explorer 时,选择 “使用建议的安全、隐私和兼容性设置 ”,然后单击“ 确定”。

  3. 默认情况下,Internet Explorer 增强的安全配置处于启用状态。 将 MongoDB 网站添加到允许的站点列表中:

    • 选择右上角的 “工具” 图标。

    • Internet 选项中,选择 “安全 ”选项卡,然后选择 “受信任的站点 ”图标。

    • 单击“ 网站 ”按钮。 将 https://*.mongodb.com 添加到受信任的站点列表中,然后关闭对话框。

      配置 Internet Explorer 安全设置

  4. 浏览到 MongoDB - 下载 页(https://www.mongodb.com/downloads)。

  5. 如果需要,请选择 Community Server 版本,然后选择Windows Server 2008 R2 64 位及更高版本的最新稳定版本。 若要下载安装程序,请单击“下载”(msi)。

    下载 MongoDB 安装程序

    下载完成后运行安装程序。

  6. 阅读并接受许可协议。 出现提示时,选择“ 完成 安装”。

  7. 如果需要,可以选择同时安装 Compass,这是 MongoDB 的图形界面。

  8. 在最后一个屏幕上,单击“ 安装”。

配置 VM 和 MongoDB

  1. MongoDB 安装程序不会更新路径变量。 如果没有路径变量中的 MongoDB bin 位置,则每次使用 MongoDB 可执行文件时都需要指定完整路径。 若要将位置添加到路径变量,请执行以下作:

    • 右键单击“ 开始 ”菜单,然后选择“ 系统”。

    • 单击 “高级系统设置”,然后单击“ 环境变量”。

    • “系统变量”下,选择 “路径”,然后单击“ 编辑”。

      配置 PATH 变量

      将路径添加到 MongoDB bin 文件夹。 MongoDB 通常安装在 C:\Program Files\MongoDB 中。 验证 VM 上的安装路径。 以下示例将默认的 MongoDB 安装位置添加到 PATH 变量:

      ;C:\Program Files\MongoDB\Server\3.6\bin
      

      注释

      请务必在您的PATH变量中添加前导分号(;),以表示您正在添加一个位置。

  2. 在数据磁盘上创建 MongoDB 数据和日志目录。 从 “开始” 菜单中,选择 命令提示符。 以下示例在驱动器 F 上创建目录:

    mkdir F:\MongoData
    mkdir F:\MongoLogs
    
  3. 使用以下命令启动 MongoDB 实例,相应地调整数据和日志目录的路径:

    mongod --dbpath F:\MongoData\ --logpath F:\MongoLogs\mongolog.log
    

    MongoDB 可能需要几分钟时间才能分配日志文件并开始侦听连接。 当服务器启动和分配日志文件时mongod.exe,所有日志消息将定向到 F:\MongoLogs\mongolog.log 文件。

    注释

    当 MongoDB 实例正在运行时,命令提示符将专注于此任务。 使命令提示符窗口保持打开状态以继续运行 MongoDB。 或者,将 MongoDB 作为服务安装,如下一步中详细说明。

  4. 若要获得更可靠的 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。