Amazon EC2:Microsoft Web 平台 - DotNetNuke

作者:Thomas Deml

介绍

我们经常听到 Web 开发人员,特别是那些提供网站设计和咨询服务的开发人员说,他们需要快速建立一个网站,网站运行速度要快,并且他们需要能够完全控制服务器,以获得最大的灵活性和可伸缩性。 今天的帖子提供有关如何在 Amazon 的 EC2 云以及 Microsoft Web 平台上运行 DotNetNuke 的快速演练。 按照本演练中的步骤操作后,你将在 Internet 上创建一个实时生产 DotNetNuke 站点。

下面是必须遵循的步骤的快速摘要:

  1. 注册 Amazon EC2
  2. 通过 Amazon Web Services 管理控制台启动“Microsoft Web 平台 - DotNetNuke”映像。
  3. 检索管理员密码并通过 RDP 连接到该映像。
  4. 完成 DotNetNuke 安装。
  5. 输入博客文章并浏览到你的博客。

1.Amazon EC2 注册

注册 Amazon EC2 的过程非常简单。 你只需要

  • 一个有效的电子邮件地址,
  • 可以联系到你的有效电话号码(确保电话就在附近,注册时我们会打电话给你!),
  • 以及有效的信用卡号

注册 URL 为 http://aws.amazon.com/ec2。 如果你已经是 Amazon 客户,那就更容易了,因为你可以使用现有的信用卡信息和电子邮件地址。

注意:计费数据验证通常在几分钟内完成。 也可能需要几个小时。 目前(2010 年 4 月)你收到的错误消息意义不大:
“你似乎没有 EC2 帐户*。 若要使用 Amazon EC2 控制台,必须首先注册 Amazon EC2。 注册过程快捷、免费。”
请耐心等待一段时间。

2.启动“Microsoft Web 平台 – DotNetNuke”实例

成功注册后,你将有权访问 Amazon EC2 管理控制台。 该 URL 为 https://console.aws.amazon.com/ec2/home

Screenshot that shows Amazon E C 2 Management Console. US West is selected for the Region in the Navigation pane.
登录后,请确保将区域切换到“美国西部”。 Microsoft Web 平台映像目前仅在美国西部区域可用。 在我们执行任何操作之前,请为 DotNetNuke 实例设置防火墙规则(在 Amazon 行话中称为“安全组”)。

防火墙规则

选择左侧的“安全组”项。 现有安全组将显示在中心窗格中。 单击顶部的“创建安全组”按钮。

Screenshot that shows the Create Security Group button.

为要创建的新组命名,例如“Microsoft Web 平台防火墙规则”。

Screenshot that shows the Create Security Group dialog box.

若要配置以下规则:

Screenshot that shows the Allowed Connections for R D P, H T T P, H T T P S, and Custom.

  • 需要 RDP,以便你可以通过远程桌面连接到 Amazon EC2 实例。 当前的“源(IP 或组)”设置允许来自任何 IP 地址的这些连接。 如果有更严格的安全要求,请锁定此设置。
  • 需要 HTTP,以便客户可以通过 HTTP 连接你的 Amazon EC2 实例。
  • 如果计划使用 SSL,则需要 HTTPS。 如果不打算使用 SSL,则不需要此设置。
  • 打开端口 8172,以允许远程管理 IIS 并通过 Visual Studio 2010 发布内容。 如果不打算使用远程管理或远程内容发布,则无需打开端口 8172。

现在,我们为启动 EC2 DotNetNuke 实例做好了准备。

启动 DotNetNuke 实例

单击左侧的“实例”菜单项,然后单击“启动实例”按钮。
Screenshot that shows the Launch Instance button.

现在,在显示的对话框中选择“社区映像”。

Screenshot that shows the Community A M I tab.

通过在“社区 AMI”对话框中输入“microsoft/”,可将选择范围减少为四个 Microsoft 映像:
Screenshot that shows Community A M I tab. Search results for microsoft forward slash are listed.在“Microsoft Web 平台 - DotNetNuke...”行中按“选择”。

在下一个对话框页(实例详细信息)中,可以选择 DotNetNuke 实例所需的计算能力。 谨慎的做法是先从较低的计算能力开始尝试。 单击“继续”按钮。 下一页也没什么可担心的。 只需单击“高级实例选项”对话框底部的“继续”即可。 现在,我们将进入“创建密钥对”对话框。
Screenshot that shows the Create a new Key Pair dialog.

如果已有密钥,只需使用它即可。 如果没有,必须输入密钥对的名称并单击“创建和下载密钥对”按钮来创建密钥对。 单击该按钮后,Amazon 就会创建密钥对,浏览器会请求下载该密钥对。 将文件保存在稍后可找到的位置。 创建的密钥对可用于解密 Amazon 为 DotNetNuke 实例创建的管理员密码。 单击“继续”按钮。

注意:Internet Explorer 可能不会显示询问密钥对文件保存位置的下载对话框。 如果遇到这种情况,请在 Internet Explorer 临时文件文件夹中查找该文件(<密钥对名称>.pem)。 在 Windows 7 上,在 %userprofile%\ AppData\Local\Microsoft\Windows\Temporary Internet Files 中搜索 *.pem。 请确保将 .pem 文件复制到更永久的目录。

创建密钥对后,可以配置防火墙规则。 例如,可以只允许对计算机的 HTTP 请求。 亚马逊将防火墙规则称为“安全组”,这有点令人费解。 对于此演示,我们将选择“默认”安全组,该安全组不会对实例施加任何防火墙限制。 稍后,你可能需要将这些设置配置得更严格一些。
单击“继续”转到“启动”页。 在摘要页面上,唯一要做的就是按下大大的“启动”按钮。 执行此操作后,Amazon EC2 将启动 DotNetNuke 映像的个人虚拟实例。 很好! 是时候喝点咖啡了。 启动实例需要一些时间,通常大约 3 到 5 分钟。

3.检索管理员密码

完成“启动实例”向导后,应返回到 AWS 管理控制台的主页。 单击“实例”链接,了解 DotNetNuke 实例的运行情况。

Screenshot that shows the Navigation pane. Instances is highlighted.

你应看到与下面类似的内容:

Screenshot that shows the My Instances pane with one instance listed on the first row.

右键单击该行,然后选择“获取 Windows 密码”菜单项。

Screenshot that shows the context menu for the first instance listed.

现在,可以使用之前创建的密钥对文件(<密钥对名称>.PEM)。 如果密码已经可用(如前所述,可能需要等待几分钟),你将看到以下对话框:

Screenshot that shows the Retrieve Default Windows Administrator Password dialog.

在记事本中打开 .PEM 文件,将其复制到剪贴板(Ctrl+A 全选,Ctrl+C 将其复制到剪贴板)。 现在,将内容粘贴到对话框的文本框中 (Ctrl+V)。 单击“解密”按钮。

注意:由于解密是一项非常占用 CPU 的操作,因此如果使用 Internet Explorer,则可能会遇到以下安全对话框:Screenshot that shows the security dialog box. The message says Stop running this script. 与直觉相反,必须按“否”才能继续操作。 可能需要多次点击“否”才能解密密码。 有关此安全功能的更多详细信息,请访问:https://support.microsoft.com/kb/175500
如果对更永久的修复感兴趣,可以在命令行上执行以下命令:

reg add "HKCU\Software\Microsoft\Internet Explorer\Styles" /v MaxScriptStatements /t REG_DWORD /d 0x5F5E100

通过将 MaxScriptStatements 设置为 100,000,000 (0x5F5E100),可以不再看到任何安全弹出窗口。

解密密码后,将其写下来或复制到剪贴板并关闭对话框。 最后,我们已准备好连接到 DotNetNuke 实例。 右键单击实例,然后选择“连接”。

Screenshot that shows the context menu for the Dot Net Nuke instance.

在随后出现的对话框中单击“下载快捷方式文件”:

Screenshot that shows the Console Connect Remote Desktop Connection dialog.

要下载的文件是一个 .RDP 文件,其中包含连接到云中 EC2 实例所需的所有正确设置。 如果使用 IE,请单击“打开”,如果使用 Firefox,则在“下载”窗口中双击该文件,即可建立远程桌面会话。 当远程桌面要求输入凭据时,只需输入用户名“Administrator”和之前检索到的密码即可。
连接后,你将登录到远程计算机。 不要不耐烦,因为登录后,需要一些时间 DotNetNuke 安装才会开始。

4.完成 DotNetNuke 安装

在你登录到 DotNetNuke EC2 实例时,登录脚本将在 Internet Explorer 中打开 http://localhost/ 地址。 这将打开 DotNetNuke 安装向导,使你可输入有望为安全的密码和其他设置。

Screenshot that shows the Dot Net Nuke Installation Wizard in a browser. Typical is selected.

该向导完成后,即可开始操作。

最后一个提示:可以从远程桌面会话外部访问博客。 你的实例具有一个可以使用的公共 DNS 地址。

Screenshot that shows the Public DNS address highlighted for the Dot Net Nuke instance.

将 AWS 管理控制台中显示的公用 DNS 名称复制到剪贴板,并将其输入到浏览器中。 如果需要更永久的 DNS 地址,则必须注册 DNS 名称,并从 Amazon 获取弹性 IP 地址。 但这是后话。

总结

现在,在互联网上获得一个专用 Web 服务器并开始使用,竟然如此容易。 我们刚刚向云部署了一个可正常运行且配置完备的内容管理系统。 请告诉我们你对此的看法:有问题或反馈? 请发送至 ec2@microsoft.com