在 Azure 的 Windows VM 上安装 MongoDB

Important

Azure 提供两个不同的部署模型用于创建和处理资源:Resource Manager 和经典模型。 本文介绍如何使用经典部署模型。 Azure 建议大多数新部署使用 Resource Manager 模型。 若要使用 Resource Manager 部署模型安装和配置 MongoDB,请参阅此文

MongoDB 是一个流行的开源、高性能 NoSQL 数据库。 本文将引导你使用 Azure 门户创建 Windows Server 虚拟机 (VM)。 然后创建数据磁盘并将其附加到 VM,再安装和配置 MongoDB。 如果想使用 Azure 中现有的 VM,可直接跳到 安装并配置 MongoDB

创建运行 Windows Server 的虚拟机

按照以下说明创建虚拟机。

  1. 登录到 Azure 门户

  2. 首先在左上角单击“新建”>“计算”>“Windows Server 2016 Datacenter”。

    在门户中导航到 Azure VM 映像

  3. 在 Windows Server 2016 Datacenter 中,选择“经典”部署模型。 单击“创建”。

    显示在门户中可用的 Azure VM 映像的屏幕截图

1.“基本信息”边栏选项卡

“基本信息”边栏选项卡请求虚拟机的管理信息。

  1. 输入虚拟机的 名称 。 在示例中, HeroVM 是虚拟机的名称。 名称必须为 1-15 个字符,不能包含特殊字符。

  2. 输入用于在 VM 上创建本地帐户的“用户名”和强“密码”。 该本地帐户用于登录和管理 VM。 在示例中, azureuser 是用户名。

    密码的长度必须为 8 到 123 个字符,并且必须符合以下四个复杂性要求中的三个要求:1 个小写字符、1 个大写字符、1 个数字和 1 个特殊字符。 了解有关用户名和密码要求的详细信息。

  3. “订阅” 是可选的。 一个常用设置是“即用即付”。

  4. 选择现有的 资源组 ,或键入新资源组的名称。 在示例中, HeroVMRG 是资源组的名称。

  5. 选择要在其中运行 VM 的 Azure 数据中心 位置 。 在示例中,位置为 中国东部

  6. 完成后,单击“下一步”转到下一个边栏选项卡。

    显示用于配置 Azure VM 的“基本信息”边栏选项卡上的设置的屏幕截图

2.“大小”边栏选项卡

“大小”边栏选项卡标识 VM 的配置详情,并列出操作系统、处理器数量、磁盘存储类型和每月估计使用成本等各种选项。

选择 VM 大小,然后单击“选择”以继续。 在此示例中,DS1__V2 标准_是 VM 的大小。

显示可以选择的 Azure VM 大小的“大小”边栏选项卡的屏幕截图

3.“设置”边栏选项卡

“设置”边栏选项卡可请求存储和网络选项。 可以接受默认设置。 Azure 可根据需要创建适当的条目。

如果选择了支持它的虚拟机大小,则可通过在“磁盘类型”中选择“高级(SSD)”来试用 Azure 高级存储。

完成更改后,单击“ 确定”。

4.“摘要”边栏选项卡

“摘要”边栏选项卡列出在之前的边栏选项卡中指定的设置。 准备好制作映像时,请单击“确定”。

列出虚拟机的指定设置的“摘要”边栏选项卡报表

创建虚拟机后,门户将在“所有资源”下列出新的虚拟机,并在仪表板上显示虚拟机的磁贴。 此外,还会创建和列出相应的云服务和存储帐户。 虚拟机和云服务都会自动启动,其状态将显示为“正在运行”。

配置虚拟机的 VM 代理和终结点

Note

在创建虚拟机时可以为 MongoDB 添加一个终结点并将其配置为如下设置:将其命名为 Mongo,使用 TCP 作为协议,并将公共端口和专用端口都设为 27017

附加数据磁盘

如果要为虚拟机提供存储,请附加数据磁盘,并对其进行初始化,以便 Windows 可以使用它。 如果已有数据磁盘,可附加该现有磁盘;此外还可附加空磁盘。

附加空磁盘

附加空磁盘是添加数据磁盘的简单方法,因为 Azure 将为你创建 .vhd 文件并将其存储在存储帐户中。

  1. 单击“虚拟机(经典)”,然后选择相应的 VM。

  2. 在“设置”菜单中,单击“磁盘”。

    附加新的空磁盘

  3. 在命令栏上,单击“附加新磁盘”。
    将显示“附加新磁盘”对话框。

    附加新磁盘

    填充以下信息:

    • 在“文件名”中,接受默认名称或为 .vhd 文件键入另一个名称。 数据磁盘使用自动生成的名称,即使你为 .vhd 文件键入另一个名称。
    • 选择数据磁盘的“类型”。 所有虚拟机都支持标准磁盘。 许多虚拟机还支持高级磁盘。
    • 选择数据磁盘的“大小(GB)”。
    • 对于“主机缓存”,请选择“无”或“只读”。
    • 单击“确定”完成。
  4. 创建并附加数据磁盘后,它将列在 VM 的磁盘部分。

    已成功附加了新的空数据磁盘

Note

添加数据磁盘后,需要登录到 VM 并初始化该磁盘,以便可以使用它。

如何:附加现有磁盘

附加现有磁盘需要存储帐户中具有可用的 .vhd。 可使用 Add-AzureVhd cmdlet 将 .vhd 文件上传到存储帐户。 在创建并上传 .vhd 文件后,你可以将其附加到 VM。

  1. 单击“虚拟机(经典)”,然后选择相应的虚拟机。

  2. 在“设置”菜单中,单击“磁盘”。

  3. 在命令栏上,单击“附加现有磁盘”。

    附加数据磁盘

  4. 单击“位置”。 此时会显示可用的存储帐户。 接下来,从列出的存储帐户中选择适当的存储帐户。

    提供磁盘存储帐户

  5. 一个存储帐户包含一个或多个容器,容器中包含磁盘驱动器 (vhd)。 从列出的容器中选择适当的容器。

    提供容器 virtual-machines-windows

  6. vhd 面板列出了保留在容器中的磁盘驱动器。 单击其中一个磁盘,然后单击“选择”。

    为 virtual-machines-windows 提供磁盘映像

  7. 此时会再次显示“附加现有磁盘”面板,其位置中包含要添加到虚拟机的存储帐户、容器、所选硬盘 (vhd)。

    将“主机缓存”设置为“否”或“只读”,然后单击“确定”。

    已成功附加了数据磁盘

有关初始化磁盘的说明,请参阅如何将数据磁盘附加到 Windows 虚拟机中的“如何在 Windows Server 中初始化新数据磁盘”。

在虚拟机上安装和运行 MongoDB

按照以下步骤操作可在运行 Windows Server 的虚拟机上安装和运行 MongoDB。

Important

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

  1. 使用远程桌面连接到该虚拟机后,从虚拟机上的“开始”菜单打开 Internet Explorer。
  2. 选择右上角的“工具”按钮。 在“Internet 选项”中,选择“安全”选项卡,然后选择“受信任的站点”图标,最后单击“站点”按钮。 将 https://*.mongodb.org 添加到受信任站点列表中。
  3. 转到下载 - MongoDB
  4. 查找社区服务器当前稳定版本,在 Windows 专栏中选择最新 64 位版本。 下载,然后运行 MSI 安装程序。
  5. MongoDB 通常安装在 C:\Program Files\MongoDB 下。 在桌面上搜索环境变量并将 MongoDB 二进制文件路径添加到 PATH 变量。 例如,可在计算机上的 C:\Program Files\MongoDB\Server\3.4\bin 中找到这些二进制文件。
  6. 在上述步骤中创建的数据磁盘(例如 F: 盘)中创建 MongoDB 数据和日志目录。 从“开始”中,选择“命令提示符”以打开命令提示符窗口。 键入:

     C:\> F:
     F:\> mkdir \MongoData
     F:\> mkdir \MongoLogs
    
  7. 若要运行数据库,请运行:

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

    当 mongod.exe 服务器启动和预分配日志文件时,所有日志消息都定向到 F:\MongoLogs\mongolog.log 文件。 MongoDB 可能需要几分钟来预分配日志文件和开始侦听连接。 当 MongoDB 实例运行时,命令提示符始终停留在此任务上。

  8. 若要启动 MongoDB 命令行管理程序,请从“开始”中打开另一个命令窗口并键入以下命令:

     C:\> cd \my_mongo_dir\bin  
     C:\my_mongo_dir\bin> mongo  
     >db  
     test
     > db.foo.insert( { a : 1 } )  
     > db.foo.find()  
     { _id : ..., a : 1 }  
     > show dbs  
     ...  
     > show collections  
     ...  
     > help  
    

    通过 insert 创建数据库。

  9. 或者,你可以将 mongod.exe 作为一项服务来安装:

     C:\> mongod --dbpath F:\MongoData\ --logpath F:\MongoLogs\mongolog.log --logappend  --install
    

    安装了名为“MongoDB”的服务,其描述为“Mongo DB”。 必须使用 --logpath 选项指定日志文件,因为正运行的服务不会在命令窗口中显示输出。 --logappend 选项指定重启服务可将输出附加到现有日志文件。 --dbpath 选项指定数据目录的位置。 有关与服务相关的更多命令行选项,请参阅与服务相关的命令行选项

    若要启动该服务,请运行以下命令:

     C:\> net start MongoDB
    
  10. 现在,MongoDB 已安装且处于运行状态,需要在 Windows 防火墙中打开一个端口才能远程连接到 MongoDB。 从“开始”菜单中,选择“管理工具”,然后选择“高级安全 Windows 防火墙”。
  11. a) 在左窗格中,选择“入站规则”。 在右侧的“操作”窗格中,选择“新建规则...”。

    Windows 防火墙

    b) 在“新建入站规则向导”中,选择“端口”,然后单击“下一步”。

    Windows 防火墙

    c) 选择“TCP”,然后选择“特定本地端口”。 指定端口“27017”(MongoDB 侦听的默认端口),然后单击“下一步”。

    Windows 防火墙

    d) 选择“允许连接”,然后单击“下一步”。

    Windows 防火墙

    e) 再次单击“下一步”。

    Windows 防火墙

    f) 指定规则名称(如“MongoPort”),单击“完成”。

    Windows 防火墙

  12. 如果你在创建虚拟机时未配置 MongoDB 的终结点,你可以现在完成此操作。 你需要防火墙规则和终结点能够远程连接到 MongoDB。

    在 Azure 门户中,依次单击“虚拟机(经典)”、你的新建虚拟机的名称和“终结点”。

    终结点

  13. 单击 “添加”

  14. 添加名为“Mongo”的终结点、协议为 TCP,并将“公用”和“专用”端口均设置为“27017”。 打开此端口即可允许远程访问 MongoDB。

    终结点

Note

端口 27017 是 MongoDB 使用的默认端口。 可以在启动 mongod.exe 服务器时通过指定 --port 参数更改此默认端口。 请确保在防火墙中提供同一个端口号以及上面说明中的“Mongo”终结点。

摘要

在本教程中,已了解如何创建运行 Windows Server 的虚拟机、如何远程连接到该虚拟机以及如何附加数据磁盘。 还了解了如何在基于 Windows 的虚拟机上安装和配置 MongoDB。 现在可以访问基于 Windows 的虚拟机上的 MongoDB,按照 MongoDB 文档中的高级主题操作。