为Web部署发布配置Web服务器(脱机部署)

本主题介绍如何配置 IIS Web 服务器以支持脱机 Web 发布和部署。

使用 Internet Information Services (IIS) Web 部署工具 (Web 部署) 2.0 或更高版本时,可以使用三种main方法将应用程序或站点置于 Web 服务器上。 方法:

  • 使用 Web 部署远程代理服务。 此方法所需的 Web 服务器配置较少,但需要提供本地服务器管理员的凭据才能将任何内容部署到服务器。
  • 使用 Web 部署处理程序。 此方法要复杂得多,需要付出更多的初始精力来设置 Web 服务器。 但是,使用此方法时,可以将 IIS 配置为允许非管理员用户执行部署。 Web 部署处理程序仅在 IIS 版本 7 或更高版本中可用。
  • 使用 脱机部署。 此方法需要最少的 Web 服务器配置,但服务器管理员必须手动将 Web 包复制到服务器上,并通过 IIS 管理器导入它。

有关这些方法的主要功能、优点和缺点的详细信息,请参阅 选择正确的 Web 部署方法

是,如果网络基础结构或安全限制阻止远程部署。 在面向 Internet 的生产环境中,这很可能是这种情况,其中 Web 服务器与服务器基础结构的其余部分隔离(无论是物理上还是防火墙和子网)。

任务概述

若要将 Web 服务器配置为支持 Web 包的脱机导入和部署,需要:

  • 安装 IIS 7.5 和 IIS 7 建议的配置。
  • 安装 Web 部署 2.1 或更高版本。
  • 创建 IIS 网站以托管已部署的内容。
  • 禁用 Web 部署代理服务。

若要专门托管示例解决方案,还需要:

  • 安装 .NET Framework 4.0。
  • 安装 ASP.NET MVC 3。
  • 已安装 Windows Server 2008 R2 Service Pack 1 和所有可用更新。
  • 服务器已加入域。
  • 服务器具有静态 IP 地址。

安装产品和组件

本部分将指导你在 Web 服务器上安装所需的产品和组件。 在开始之前,一个好的做法是运行 Windows 更新,以确保服务器完全处于最新状态。

在这种情况下,需要安装以下项:

  • IIS 7 建议的配置。 这会在 Web 服务器上启用 Web 服务器 (IIS) 角色,并安装承载 ASP.NET 应用程序所需的 IIS 模块和组件集。
  • .NET Framework 4.0。 这是运行基于此版本.NET Framework构建的应用程序所必需的。
  • Web 部署工具 2.1 或更高版本。 这会在服务器上安装 Web 部署 (及其基础可执行文件(MSDeploy.exe) )。 Web 部署与 IIS 集成,可用于导入和导出 Web 包。
  • ASP.NET MVC 3。 这将安装运行 MVC 3 应用程序所需的程序集。

安装所需的产品和组件

如果在安装 IIS 之前安装了 .NET Framework 4.0,则需要运行 ASP.NET IIS 注册工具 (aspnet_regiis.exe) 以向 IIS 注册最新版本的 ASP.NET。 如果不这样做,你会发现 IIS 将提供静态内容 (,如 HTML 文件) ,但当你尝试浏览到 ASP.NET 内容时,它将返回 HTTP 错误 404.0 – 未找到 。 可以使用下一过程来确保注册 ASP.NET 4.0。

向 IIS 注册 ASP.NET 4.0

作为一种好的做法,此时再次使用Windows 更新下载并安装已安装的新产品和组件的任何可用更新。

配置 IIS 网站

在将 Web 内容部署到服务器之前,需要创建并配置 IIS 网站来托管内容。 Web 部署只能将 Web 包部署到现有 IIS 网站;它无法为你创建网站。 概括而言,需要完成以下任务:

  • 在文件系统上创建一个文件夹来托管内容。
  • 创建 IIS 网站来提供内容,并将其与本地文件夹相关联。
  • 向本地文件夹上的应用程序池标识授予读取权限。

尽管没有任何内容可阻止你将内容部署到 IIS 中的默认网站,但除了测试或演示方案之外,不建议使用此方法。 若要模拟生产环境,应使用特定于应用程序要求的设置创建新的 IIS 网站。

创建和配置 IIS 网站

为了使网站提供内容,应用程序池标识必须对存储内容的本地文件夹具有读取权限。 在 IIS 7.5 中,应用程序池默认使用唯一的应用程序池标识运行, (与以前版本的 IIS 相比,应用程序池通常使用网络服务帐户) 运行。 应用程序池标识不是真正的用户帐户,不会显示在任何用户或组列表中,而是在启动应用程序池时动态创建的。 每个应用程序池标识都作为隐藏项添加到本地 IIS_IUSRS 安全组。

若要授予对文件或文件夹的应用程序池标识的权限,有两个选项:

  • 使用 IIS AppPool (应用程序池名称 ) 格式 (例如 IIS AppPool\DemoSite) ,直接向应用程序池标识分配权限。
  • IIS_IUSRS 组分配权限。

最常见的方法是将权限分配给本地 IIS_IUSRS 组,因为此方法使你无需重新配置文件系统权限即可更改应用程序池。 下一过程使用此基于组的方法。

为 IIS 网站配置文件夹权限

禁用远程代理服务

安装 Web 部署时,将自动安装并启动 Web 部署代理服务。 此服务允许从远程位置部署和发布 Web 包。 在这种情况下,不会使用远程部署功能,因此应停止并禁用该服务。

可以使用各种命令行实用工具或Windows PowerShell cmdlet 以多种方式停止和禁用服务。 此过程描述了一种基于 UI 的简单方法。

停止和禁用远程代理服务

此时,Web 服务器已准备好进行脱机 Web 包部署。 在尝试将 Web 包导入 IIS 网站之前,可能需要检查以下要点:

  • 是否已将 ASP.NET 4.0 注册到 IIS?
  • 应用程序池标识是否对网站的源文件夹具有读取访问权限?
  • 是否已停止 Web 部署代理服务?

原文链接:https://learn.microsoft.com/zh-cn/aspnet/web-forms/overview/deployment/configuring-server-environments-for-web-deployment/configuring-a-web-server-for-web-deploy-publishing-offline-deployment

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享