作者 :克里斯蒂娜·奥尔森
总结
在本指南中,我们将演示为管理员或非管理员部署安装和配置Web Deploy的步骤。 这意味着使客户端能够使用 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 部署教程中的说明安装 Web 部署 V3 RC,然后更新它运行 Web 部署 V3 RTW msi。
为非管理员部署安装和配置 Web 部署
要求:
服务器必须具有 IIS7 附带的操作系统,这意味着 Windows Server 2008 或 Windows Server 2008 R2。
使用 WebPI 安装 Web 部署及其依赖项,如 Web 管理服务(WMSvc)
使用以下方法安装 Web 部署:
直接从 IIS.net Web 部署页面https://www.iis.net/download/webdeploy 下载 Web 部署安装程序 (x86) |(x64)
注意: 通常不建议新手用户直接使用 MSI,因为推荐或必需的依赖产品需要单独安装。 使用 MSI 而不是 WebPI 在服务器上安装 Web 部署时,以下限制可能会造成问题:
- MSI 不会安装 SQL 共享管理对象(SMO),这是 SQL Server 数据库部署所必需的。 可以使用 WebPI 安装此组件以启用 SQL Server 数据库部署。
- 如果未安装 Web 管理服务,MSI 将不会安装 Web 管理服务处理程序组件;非管理员部署需要处理程序组件。 应首先安装 Windows 组件 IIS(包括管理服务)以使处理程序组件能够安装。
- 如果未安装 PowerShell v2,MSI 将不会配置 Web 管理服务以允许非管理员部署。 此设置步骤包括在 IIS 服务器 Administration.config 文件中创建委派规则,以允许非管理员用户使用 Web 部署。 PowerShell v2 内置于 Windows Server 2008 R2 上,但可能需要 Windows Server 2008 的 Windows 更新。 或者,在安装后可以手动添加委派规则。
为委派的非管理员部署配置站点
使用上述方法(1)或(2a)安装 Web 部署后,所有服务器级配置都是针对非管理员发布完成的,但在站点级别需要其他配置。 可以使用下面所述的方法(1)或(2)完成此站点配置。
使用 Web 部署 PowerShell 脚本为新的或现有的非管理员用户创建新网站或设置对现有网站的权限,如 PowerShell 脚本演练 [要添加的链接] OR
使用 IIS 管理器 UI 为现有用户配置现有站点上的发布
启动 IIS 管理器(在“开始”菜单中键入“inetmgr.exe” )
展开 “站点” 节点并右键单击站点,例如“测试”
单击部署>配置 Web 部署发布...
在您单击 设置 时,将出现以下日志行:
- 为“NonAdminUser”启用发布
- 已授予“NonAdminUser”对
C:\inetpub\wwwroot\test的完全控制权。 - 已成功创建设置文件
C:\Users\JohnDoe\Desktop\NonAdminUser\_Default Web Site.PublishSettings
非管理员 Windows 用户(NonAdminUser)现在可以发布到站点(测试)。
安装和配置 Web 部署以供管理员使用
要求:
使用上述方法安装 Web Deploy。 如果使用客户端操作系统(如 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 上侦听。
必须通过使用内置管理员帐户或已添加到管理员组的域帐户运行 MsDepSvc。 不是内置帐户的本地管理员帐户不能与 MsDepSvc 一起使用。
检查 .NET 4.0 是否未向 IIS 注册:
- 症状: 已安装 .NET 4.0,但 IIS 中没有 .NET 4.0 应用程序池或处理程序映射。 发布应用程序后,无法浏览到使用 .NET 4.0 的应用程序(例如,基于 WebMatrix 的网站模板应用程序的应用程序)。
- 原因: 安装 IIS 之前,计算机已安装 .NET 4.0。
-
解决 方案: 运行以下命令,向 IIS 注册 .NET 4.0:
%systemdrive%\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet\_regiis.exe -iru