在 IIS 7 上安装和配置 Web 部署

作者:Kristina Olson

总结

在本演练中,我们将展示安装和配置用于管理员或非管理员部署的 Web 部署的步骤。 这意味着使客户端能够使用 Web 部署将网站内容发布到服务器所需的步骤,即使客户端没有服务器的管理员凭据也可以。

注意:当前 Web 部署 V3 RTW 只能通过直接下载使用。 我们仍在处理 WebPI 源。 安装 V3 RTW 的最简单方法是首先使用 WebPI 4 RC (x86 (https://download.microsoft.com/download/C/4/9/C4963E95-B3E7-4520-BD87-86BFEED90A1E/WebPlatformInstaller_x86.msi)/x64 (https://download.microsoft.com/download/C/4/9/C4963E95-B3E7-4520-BD87-86BFEED90A1E/WebPlatformInstaller_amd64.msi)) 安装 Web 部署 V3 RC(遵循“安装和配置 Web 部署”教程中的说明),然后运行 Web 部署 V3 RTW msi 更新它。

为非管理员部署安装和配置 Web 部署

要求:

服务器必须具有 IIS7 附带的操作系统,即 Windows Server 2008 或 Windows Server 2008 R2。

使用 WebPI 安装 Web 部署及其依赖项,如 Web 管理服务 (WMSvc)

  1. 使用以下方法安装 Web 部署:

    1. 直接从 IIS.net Web 部署页面https://www.iis.net/download/webdeploy下载 Web 部署安装程序 (x86) | (x64)

      1. 在安装向导中,选择“完成”安装选项。
        显示 Microsoft Web 部署 2 点 0 安装向导的屏幕截图。突出显示了“完成”。

      2. 注意:通常不建议新手用户使用 MSI,因为建议或必需的依赖产品必须单独安装。 使用 MSI 而不是 WebPI 在服务器上安装 Web 部署时,以下限制可能会造成问题:

        1. MSI 不会安装 SQL 共享管理对象 (SMO),而这是 SQL Server 数据库部署所必需的。 可以使用 WebPI 安装此组件以启用 SQL Server 数据库部署。
        2. 如果未安装 Web 管理服务,MSI 将不会安装 Web 管理服务处理程序组件。非管理员部署需要处理程序组件。 应首先安装 Windows 组件 IIS(包括管理服务)以使处理程序组件能够安装。
        3. 如果未安装 PowerShell v2,MSI 将不会配置 Web 管理服务以允许非管理员部署。 此设置步骤包括在 IIS 服务器 Administration.config 文件中创建委派规则,允许非管理员用户使用 Web 部署。 PowerShell v2 内置于 Windows Server 2008 R2,但对于 Windows Server 2008 可能需要 Windows 更新。 或者,在安装后可以手动添加委派规则。

为委派的非管理员部署配置站点

使用上述方法 (1) 或 (2a) 安装 Web 部署后,非管理员发布的所有服务器级配置就都完成了,但在站点级别需要额外的配置。 可以使用下面所述的方法 (1) 或 (2) 完成此站点配置。

  1. 使用 Web 部署 PowerShell 脚本为新的或现有的非管理员用户创建新站点或设置对现有网站的权限,如 PowerShell 脚本演练 [链接待添加] 所述,或

  2. 使用 IIS 管理器 UI 为现有用户配置现有站点上的发布

    1. 启动 IIS 管理器(在开始菜单中键入“inetmgr.exe” )

    2. 展开“站点”节点并右键单击某个站点,例如“测试”

    3. 单击“部署”>“为 Web 部署发布进行配置...”

    4. 系统将显示以下 UI。 单击“...”
      显示“配置 Web 部署发布”对话框的屏幕截图。突出显示第一个变量上的省略号。

    5. 单击“选择:”
      显示“允许用户”对话框的屏幕截图。在 Windows 文本框旁边突出显示了“选择”。

    6. 键入非管理员 Windows 用户的名称,然后单击“确定”
      “选择用户或组”对话框的屏幕截图。在“输入对象名称以选择文本框”中,将输入非管理员用户。

    7. 单击“设置”时,将显示以下日志行:

      • 已为“NonAdminUser”启用发布
      • 已授予“NonAdminUser”对 C:\inetpub\wwwroot\test 的完全控制
      • 已成功创建设置文件 C:\Users\JohnDoe\Desktop\NonAdminUser\_Default Web Site.PublishSettings
    8. 非管理员 Windows 用户 (NonAdminUser) 现在可以发布到站点(测试)。

为管理员部署安装和配置 Web 部署

要求:

使用上述方法安装 Web 部署。 如果使用客户端操作系统(如 Vista 或 Windows 7),或者不使用 IIS7+(如 Windows Server 2003)的 Windows Server 版本,则需要直接从 Web 部署工具下载页进行安装。 对于这些客户端或服务器 2003 计算机,Web 管理服务处理程序组件和相关委派规则将不适用。

故障排除常见问题:

  • 如果要升级 Web 部署的现有安装,请确保通过在管理命令提示符处运行以下命令来重启处理程序和代理服务:

  • net stop msdepsvc & net start msdepsvc

  • net stop wmsvc & net start wmsvc

  • 确保防火墙允许连接到你正在使用的服务。 Web 部署代理服务 (MsDepSvc) 默认在端口 80 上侦听,Web 管理服务(WmSvc,也称为“处理程序”)默认在端口 8172 上侦听。

  • 必须使用内置 Administrator 帐户或已添加到管理员组的域帐户运行 MsDepSvc。 不是内置帐户的本地管理员将不适用于 MsDepSvc。

  • 检查是否已向 IIS 注册 .NET 4.0:

    • 症状:.NET 4.0 已安装,但 IIS 中没有 .NET 4.0 应用程序池或处理程序映射。 发布使用 .NET 4.0 的应用程序(例如,基于 WebMatrix 的站点模板应用程序的应用程序)后,无法浏览到它们。
    • 原因:在安装 IIS 之前,计算机已安装 .NET 4.0。
    • 解决方案:运行以下命令,将 .NET 4.0 注册到 IIS:%systemdrive%\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet\_regiis.exe -iru