将 ASP.NET Core 应用发布到 IISPublish an ASP.NET Core app to IIS

本文内容

本教程介绍如何在 IIS 服务器上托管 ASP.NET Core 应用。

本教程涵盖以下主题:

  • 在 Windows Server 上安装.NET Core Hosting Bundle。
  • 在 IIS 管理器中创建 IIS 站点。
  • 部署 ASP.NET Core 应用。

先决条件Prerequisites

  • .NET Core SDK 安装在开发计算机上。
  • Windows Server 配置了“Web 服务器 (IIS)”服务器角色 。如果服务器未配置为托管具有 IIS 的网站,请按照 使用 IIS 在 Windows 上托管 ASP.NET Core 文章中“IIS 配置”部分的指南操作,然后返回本教程 。

警告

IIS 配置和网站安全涉及到本教程未介绍的概念。 在 IIS 上托管生产应用之前,请先参阅 Microsoft IIS 文档中的 IIS 指南和有关使用 IIS 进行托管的 ASP.NET Core 文章

本教程未介绍的 IIS 托管的重要方案包括:

安装 .NET Core 托管捆绑包Install the .NET Core Hosting Bundle

在 IIS 服务器上安装 .NET Core 托管捆绑包 。捆绑包可安装 .NET Core 运行时、.NET Core 库和 ASP.NET Core 模块该模块允许 ASP.NET Core 应用在 IIS 后面运行。

使用以下链接下载安装程序:

当前 .NET Core 托管捆绑包安装程序(直接下载)

  • 在 IIS 服务器上运行安装程序。

  • 重启服务器或在命令行界面中执行 net stop was /y,后跟 net start w3svc 。

创建 IIS 站点Create the IIS site

  • 在 IIS 服务器上,创建一个文件夹以包含应用已发布的文件夹和文件。在接下来的步骤中,文件夹路径作为应用程序的物理路径提供给 IIS。

  • 在 IIS 管理器中,打开“连接” 面板中的服务器节点。右键单击“站点” 文件夹。选择上下文菜单中的“添加网站” 。

  • 提供网站名称,并将“物理路径”设置为所创建应用的部署文件夹 。提供“绑定”配置,并通过选择“确定”创建网站 。

创建 ASP.NET Core Razor Pages 应用Create an ASP.NET Core Razor Pages app

按照 ASP.NET Core 入门 教程创建 Razor Pages 应用。

发布和部署应用Publish and deploy the app

发布应用意味着生成可由服务器托管的编译应用 。部署应用意味着将发布的应用移动到托管系统 。发布步骤由 .NET Core SDK 处理,而部署步骤可以通过各种方法处理。本教程采用“文件夹”部署方法,即 :

  • 将应用发布到一个文件夹。
  • 文件夹的内容将移动到 IIS 站点的文件夹(IIS 管理器中站点的物理路径) 。
  • 在“解决方案资源管理器” 中右键单击该项目,然后选择“发布” 。
  • 在“选择发布目标”对话框中,选择“文件夹”发布选项 。
  • 设置“文件夹或文件共享”路径 。
    • 如果为开发计算机上可用作网络共享的 IIS 站点创建了一个文件夹,请提供该共享的路径。当前用户必须具有写入权限才能发布到共享。
    • 如果无法直接部署到 IIS 服务器上的 IIS 站点文件夹,请发布到可移动介质上的文件夹,并将已发布的应用物理移动到服务器上的 IIS 站点文件夹,该文件夹是该站点在 IIS 管理器中的物理路径 。将 bin/Release/{TARGET FRAMEWORK}/publish 文件夹的内容移动到服务器上的 IIS 站点文件夹,该文件夹是该站点在 IIS 管理器中的物理路径 。
  • 在命令 shell 中,使用 dotnet publish 命令在发布配置中发布应用:
  1. dotnet publish --configuration Release
  • 将 bin/Release/{TARGET FRAMEWORK}/publish 文件夹的内容移动到服务器上的 IIS 站点文件夹,该文件夹是该站点在 IIS 管理器中的物理路径 。
  • 右键单击“解决方案”中的项目,然后选择“发布” > “发布到文件夹” 。
  • 设置“选择文件夹”路径 。
    • 如果为开发计算机上可用作网络共享的 IIS 站点创建了一个文件夹,请提供该共享的路径。当前用户必须具有写入权限才能发布到共享。
    • 如果无法直接部署到 IIS 服务器上的 IIS 站点文件夹,请发布到可移动介质上的文件夹,并将已发布的应用物理移动到服务器上的 IIS 站点文件夹,该文件夹是该站点在 IIS 管理器中的物理路径 。将 bin/Release/{TARGET FRAMEWORK}/publish 文件夹的内容移动到服务器上的 IIS 站点文件夹,该文件夹是该站点在 IIS 管理器中的物理路径 。

浏览网站Browse the website

应用收到第一个请求后,可以在浏览器中访问该应用。在站点的 IIS 管理器中创建的终结点绑定上发出对应用的请求。

后续步骤Next steps

在本教程中,你将了解:

  • 在 Windows Server 上安装.NET Core Hosting Bundle。
  • 在 IIS 管理器中创建 IIS 站点。
  • 部署 ASP.NET Core 应用。

若要了解有关在 IIS 上托管 ASP.NET Core 应用的详细信息,请参阅 IIS 概述文章:

使用 IIS 在 Windows 上托管 ASP.NET Core

其他资源Additional resources

ASP.NET Core 文档集中的文章Articles in the ASP.NET Core documentation set

有关 ASP.NET Core 应用部署的文章Articles pertaining to ASP.NET Core app deployment

有关 IIS HTTPS 配置的文章Articles on IIS HTTPS configuration

有关 IIS 和 Windows Server 的文章Articles on IIS and Windows Server