向 Amazon Lightsail 中的 Windows Server 2022 实例发布 .NET 应用程序

教程

概览

Amazon Lightsail 是 AWS 入门的最便捷方式之一。它包括快速启动项目所需的一切资源,价格低廉且可。

本教程向您介绍如何在 Amazon Lightsail 中的 Windows Server 2022 实例上发布 .NET 应用程序。
 

您将学到的内容

在本教程中,您将:

  • 安装所需的服务器角色和功能
  • 配置 Visual Studio 2022 社区版以连接到您的实例
  • 将 ASP.NET 核心 Web 应用程序模板发布到您的实例

先决条件

在开始学习本教程之前,您需要:

  • 一个 AWS 账户:如果您还没有账户,请阅读设置 AWS 环境指南迅速了解一下。

 AWS 使用经验

新手

 最短完成时间

60 分钟

 所需费用

适用于 Free Tier 用户

 需要

AWS 账户*
*过去 24 小时内创建的账户可能尚不具有访问此教程所需服务的权限。

 使用的服务

 上次更新日期

2023 年 4 月 28 日

实施

第 1 步:创建 Amazon Lightsail 账户

本教程符合 Amazon Lightsail 免费套餐条件,但可能会产生费用。 

已拥有账户? 登录

第 2 步:在 Amazon Lightsail 中创建 Windows Server 2022 实例

本教程需要您在 Lightsail 中创建一个 Windows Server 2022 实例。为此,请按照“使用 Amazon Lightsail 启动 Windows 虚拟机”教程中的步骤进行操作,但在选择仅限操作系统的实例映像时,请务必选择 Windows Server 2022

第 3 步:在您的实例上安装所需角色和功能

您可以在 Lightsail 控制台中使用基于浏览器的 RDP 客户端连接至 Windows Server 2022 实例。连接后,您可以安装所需的服务器角色和功能,以允许您通过 Visual Studio 连接至您的实例,并运行 .NET 应用程序。

a.在 Lightsail 主页实例选项卡上,为 Windows Server 2022 实例选择 RDP 快速连接图标。


b.基于浏览器的 RDP 客户端窗口打开后,选择 Windows 图标并打开 Server Manager


c.在左侧导航菜单中选择 Local Server,然后选择 IE Enhanced Security Configuration 旁边的 On(选择 On 将其 关掉)。

关闭 “IE Enhanced Security Configuration”后,您将能够下载本教程后面的资源。


d.在配置提示框中,选择仅关闭面向管理员的功能,然后选择 OK


e.在 Server Manager 中,选择左侧导航菜单中的 Dashboard,然后选择添加角色和功能


f.在 Add Roles and Features Wizard中,选择 Next


g.在 Select installation type 屏幕中,选择 Role-based or feature-based installation,然后选择 Next


h.在 Select destination server 屏幕中,选择 Next


i.在 Select server roles 屏幕中,选择 Web Server (IIS)。当系统提示您是否要添加所需功能时,选择 Add features。选择 Next


j.在 Select features 中,选择此屏幕截图中突出显示的功能,然后选择 Next


k.在 Web Server Role (IIS) 屏幕中,选择 Next


l.在 Web Server 服务下,选择此屏幕截图中突出显示的角色服务。


m.在 PerformanceSecurity 服务下,选择此屏幕截图中突出显示的角色服务。


n.在 FTP ServerManagement Tool 服务下,选择此屏幕截图中突出显示的角色服务。


o.在Application Development 服务下,选择此屏幕截图中突出显示的角色服务。


p. 在确认您已选择上述步骤中强调过的所有正确角色服务后,选择 Next


q.选择 Restart the destination server automatically if required,然后在 Confirm installation selections 屏幕中选择 Install

需要几分钟的时间来下载和安装角色和功能。 

第 4 步:在您的实例上安装 Web Deploy

您必须在 Windows Server 2022 实例上安装 Web Deploy 4.0 扩展程序,才能向您的服务器部署 Web 应用程序和网站。 


a.在 Windows Server 2022 实例上,打开 Internet Explorer 并下载 Web 部署 4.0


b.下载完成后,选择“打开文件”以启动安装程序。


c.在初始“Setup Wizard”(安装向导)屏幕上选择Next(下一步)。


d.接受许可协议中的条款,然后在 Microsoft Web Deploy 4.0 Setup(Microsoft Web Deploy 4.0 设置)屏幕中选择“下一步”。


e.在 选择设置类型屏幕上选择完成


f.选择安装开始安装,然后选择完成,在安装完成后关闭安装程序。

第 5 步:安装 ASP.NET Core 6.0 Hosting Bundle

因为我们要在 Windows Server 2022 实例上发布 ASP.NET Core Web 应用程序,所以您需要安装 ASP.NET Core 6.0 Hosting Bundle。


a.在您的 Windows Server 2022 实例上,打开 Internet Explorer 并下载 ASP.NET Core 6.0 Hosting Bundle


b.下载完成后,选择打开文件


c.接受许可协议中的条款,然后在 Windows Server 主机设置屏幕中选择安装


d.安装完成后,选择关闭

第 6 步:在 Visual Studio 2022 中创建 ASP.NET Core Web 应用程序

在以下步骤中,您将在 Visual Studio 2022 社区版中使用 ASP.NET Core Web 应用程序模板创建应用程序。要下载和安装 Visual Studio 2022 社区版,请参阅 Visual Studio 网站


a.在您的本地计算机上打开 Visual Studio 2022 社区版(而非 Windows Server 2022 实例)。


b.选择 Create a new project


c.在语言下拉菜单中选择 C#。在可用项目列表中选择 ASP.NET Core Web 应用程序,然后选择下一步


d.选择项目名称,然后选择下一步


e.在更多信息屏幕上,确保选择的框架 .NET 6.0,然后选择创建

完成此步骤后,您将在 Visual Studio 中拥有一个可以编辑的 ASP.NET 核心网站项目模板。编辑完项目后,请继续下一部分,以将您的项目发布到 Windows Server 2022 实例。

第 7 步:向您的 Windows Server 2022 实例发布 .NET 应用程序

在以下步骤中,您将配置 Visual Studio 以将其连接至 Windows Server 2022 实例,以便将您的 .NET 项目发布到服务器。


a.要想在远程网络上进行发布,您需要向 Windows Server 2022 实例添加防火墙规则。打开您的 Lightsail 控制台并打开实例的 网络 选项卡。选择 + 添加规则并输入 8172 作为端口,然后选择创建


b.在 Visual Studio 2022 社区版中打开 MVC 项目后,选择构建,然后选择发布 LightsailWebApp1

如果您以不同的方式命名项目,则 LightsailWebApp1 将被您在创建项目时选择的名称替换。 


c.选择 Web 服务器 (IIS),然后在发布屏幕中选择下一步


d.选择 Web 部署,然后选择下一步


e.从 Lightsail 控制台获取 Windows Server 2022 实例的公有 IP 地址,然后在 PowerShell 中运行 nslookup PublicIpAddress 进行反向 DNS 查询,获取 Windows Server 2022 实例 IP 地址的公有 DNS 名称;该 PublicHostname 将在下一步中用作服务器名称。


f.在下一个屏幕上,输入以下信息:

  • 服务器文本框中输入 PublicHostname 。使用在上一步中检索到的 Windows Server 2022 实例的公有 DNS 名称替换 PublicHostname
  • Site name 文本框中,输入 Default Web Site。 
    • 这是您在 Windows Server 2022 实例上安装 Internet Information Service (IIS) 时自动配置的默认网站名称。
  • Destination URL 文本框中,输入 http://PublicHostname。使用在上一步中检索到的 Windows Server 2022 实例的公有 DNS 名称替换 PublicHostname
  • User name 文本框中,输入 Administrator。这是 Windows Server 2022 实例的默认管理员用户名。
  • Password(密码)文本框中,输入管理员密码。 
    • 您可以获取管理员密码,步骤是:在 Lightsail 控制台中转至实例的管理员面,然后在连接选项卡下选择检索默认密码

g.选择 Validation Connection 以测试连接。首次连接时,您可能会遇到像屏幕截图中那样的证书错误。这是因为服务器使用默认证书,如果显示的主机名与您打算连接的主机名相匹配,则可以放心地接受该证书。

如果验证成功,则显示选中标记图标。如果验证失败,请确认您在表单中输入的信息正确无误(确认管理员密码和 IP 地址)。


h.选择 完成,然后在 “发布配置文件” 创建进度成功完成后选择关闭


i.准备向服务器发布项目后,在 Visual Studio 中选择 Publish


j.如果您的项目已成功发布至服务器,则 Visual Studio 中的 Output 将显示成功消息。


k.浏览到 Windows Server 2022 实例的 PublicHostname ,以确认项目已成功发布。

如果您看到类似于以下屏幕截图的页面,则表示您的项目已成功发布。

步骤 8:清理资源

在以下步骤中,您将清理在本教程中创建的资源。事实上,最好删除不再使用的实例和资源,以免继续产生费用。

a.在 Lightsail 主页实例选项卡上,选择您刚刚创建的 Windows Server 实例旁的省略号 (⋮) 图标,然后选择删除

b.从提示中选择是,删除

结论

恭喜! 您已在 Amazon Lightsail 中向 Windows Server 2022 实例发布了 .NET 核心网络应用程序。

Amazon Lightsail 是开发、构建和部署各种应用程序(例如,内容管理系统、网站和其他平台)的理想选择。

此页内容对您是否有帮助?

后续步骤