远程向 Internet 上的 IIS Web 服务器发布 ASP.NET 核心程序

页面创建日期 :

环境

Windows Server
  • Windows Server 2019
Internet Information Services (IIS)
  • 10.0
ASP.NET Core
  • 5.0
Web Deploy
  • 3.6 日文版

入门

提供有关如何将 ASP.NET 核心程序直接从视觉工作室上载到在 Windows 服务器上设置的 Internet 信息服务 (IIS) 的分步说明。

第一次需要在 Windows 服务器上执行操作,但一旦设置,第二次和以后都可以直接从视觉工作室发布。

此提示将程序发布到 Internet 上的服务器,但出于最低安全预防措施,如果您担心,我们建议您采取其他措施或采取其他上传方法。

先决条件

  • 已设置 Windows 服务器
  • 您已经拥有要上传的 ASP.NET 核心程序
  • 可通过互联网或内联网连接到服务器

步骤

设置 IIS(Internet 信息权限服务)

有关说明,请参阅以下页面。 除了运行 ASP.NET 核心程序外,IIS 还可用于其他用途。

顺便说一下,IIS 安装程序需要其他设置,但上述链接的提示尚未设置。 稍后可以设置它,因此我将在下一部分中讨论它。

在 IIS 中添加管理服务

添加 IIS 的默认设置,因为未设置"管理服务"。

启动服务器管理器。

从菜单管理中选择"添加角色和功能"。

按"下一步"按钮几次,直到达到所需的屏幕。

进入"选择服务器角色"屏幕后,展开"Web 服务器 (IIS)"和"管理工具",然后选中"管理服务"。 (图表为英语,但相同)

如果未安装 ASP.NET 4.7,则会出现以下对话框,您可以一起添加它。

然后,单击"下一步"按钮进行安装。

打开 IIS 管理器时,可以验证是否已添加管理服务。

防火墙还会自动允许部署端口。

ASP.NET 核心托管捆绑包安装

在 Windows 服务器上运行 ASP.NET 核心所必需的。 安装后,IIS 可以像传统的 ASP.NET 应用程序一样运行。

访问以下页面: 顺便说一下,此提示使用 5.0,因此,如果您使用的版本不同,请转到相应的页面。

单击屏幕右下角的运行时中的链接以下载它,因为有一个适用于 Windows 的托管捆绑包。

在 Windows 服务器上运行下载的安装程序。

选中"我接受许可条款和使用条款",然后单击"安装"按钮。

安装完成后关闭。

安装 Web 部署

需要从视觉工作室接收发布程序。

转到以下链接:

下载。

Windows 服务器仅下载基本 64 位版本。

在 Windows 服务器上运行。

单击"下一步"。

选中"我接受许可协议",然后单击"下一步"。

单击"完整"。

单击"安装"按钮。

安装完成后,单击"完成"按钮。

打开 IIS 管理器时,将添加"委派管理服务"。

设置应用程序池

对于 ASP.NET 核心,添加没有托管代码的应用程序池,因为 .NET CLR 并不重要。 您可以修改现有的默认应用池。 此设置与 Web 部署没有直接关系,因此省略详细信息。

如果添加了应用程序池,请将其设置为站点。

创建网站

创建网站。 您可以从头开始创建新网站,也可以使用默认网站。 此提示接受默认网站。 我省略了细节,因为创建网站与 Web 部署没有直接关系。

创建部署用户

Windows 帐户也可以部署,但创建专用部署用户会增加安全风险。 如果要将其部署到 Windows 帐户,则不需要设置此项目。

启动 IIS 管理器。

从左侧树中选择服务器,然后在中央"管理"组中打开 IIS 管理器用户。

单击右侧的"添加用户"。

通过输入部署用户的名称和密码来创建部署用户。

已添加。

允许部署

您刚刚添加了添加到 IIS 的用户,因此您需要为每个站点设置权限。 使用 Windows 管理员帐户发布时,不需要此设置。

从左侧树中选择目标站点,然后打开 IIS 管理器权限。

从右侧的项目,单击"允许用户"。

由于您指定了这次添加到 IIS 的用户,因此请检查 IIS 管理器并单击"选择"按钮。 如果要使用 Windows 帐户发布,请选中"窗口"。

将显示用户列表,然后选择它。

选择后,单击"确定"按钮。

添加的状态。

设置部署

从左侧树中选择服务器以打开管理服务。

如果选中"启用远程连接"或"Windows 或 IIS 管理器凭据",则无需执行任何操作。 如果选中"仅 Windows 凭据"以使用 Windows 帐户发布,则"确定"。

如果没有,请选中它。

我认为每个项目都处于无法输入的状态,因此请单击右侧的"停止"。

选中所需的项目。 完成后,单击右侧的"开始"链接。

此屏幕底部有一个设置,以提高安全性,但这次我省略了它,因为首先需要确认可以放置的内容。

从视觉工作室部署程序

返回到工作电脑并启动视觉工作室以打开 ASP.NET 核心程序。 这一次,我们将发布一个程序,该程序处于创建新项目的状态。

右键单击项目并选择"发布"。

选择 Web 服务器 (IIS),然后单击"下一步"。

选择"Web 部署"。

输入以下内容:

参数名称
服务器 设置 IIS 的服务器的 IP 地址或 DNS 名称或域名。 您可以在互联网上或内联网上指定。
站点名称 指定要添加到 IIS 的站点的名称。
目标 URL 空白没有问题。
用户名 指定在 IIS 中创建的 Windows 服务器用户帐户或用户名。
密码 输入上述用户的身份验证密码。
保存密码 如果每次发布时输入密码都比较麻烦,请保存密码。

如图所示。

如果创建了多个发布配置文件,则可以在上面的下拉列表中进行更改,但如果名称令人困惑,则可以更改它们。

您可以在编辑屏幕上更改精细设置。

从左侧选项卡中选择"设置"。 您无需进行任何特殊更改,但请根据需要更改"配置"、"目标运行时"和"文件发布选项"。

从左侧选项卡中选择"连接"。 您将看到您键入的第一个内容,但请单击下面的"验证连接"按钮。

成功连接到发布目标后,将显示以下对话框: 选中"为 Visual Studio 的未来会话保存此证书",然后单击"我同意"按钮。 如果保存,则仅显示此对话框。

如果连接验证右侧出现复选标记,则表示连接成功。

顺便说一下,如果失败,请单击链接以查看原因,并根据原因采取行动。

最常见的原因是

  • 用户名和密码不正确。
  • IIS 端不允许用户。 调查方法是在 Windows 管理员中部署它。
  • 防火墙不允许"TCP 8172"。 云(如 Azure)不允许在云端。
  • 您尚未"完整"安装 Web 部署工具。
  • IIS 设置不足。 请仔细检查此提示。

完成后,从解决方案资源管理器→解决方案→项目→发布配置文件 并设置发布名称的"。 pubxml",所以打开。

ProjectPropertyGroup 以下代码添加到>标记中并保存:

<AllowUntrustedCertificate>True</AllowUntrustedCertificate>

完成后,使用"发布"按钮发布它。

如果发布成功,则已完成。 偶尔可能会失败,因此请再次发布或验证连接。

如果您能够在 Web 浏览器中访问它,并查看 ASP.NET 核心程序是否正常工作,则已完成。

更新历史记录

  • 2021/11/12 : 添加说明,因为 .pubxml 需要不时 AllowUntrustedCertificate