从Visual Studio 2012将Web部署到远程IIS 8服务器

34
我有一个远程的Windows 2012服务器,上面运行着IIS 8,我在其中托管了一个Web应用程序。我的本地开发环境是运行Visual Studio 2012。目前,我将我的应用程序发布为Web部署包(.zip),然后通过RDP连接到生产服务器,复制+粘贴到文件夹中,并从IIS中部署应用程序。我的问题是,我需要做哪些更改才能使用Web Deploy选项直接从Visual Studio 2012部署到IIS中?
我尝试遵循此指南,但它提到了我必须从我的托管公司获取服务URL。我没有托管公司,我的服务器是共同放置的。
我看到以下选项:

Web deploy options

用户名和密码是用于RDP帐户的吗?我已经在IIS上安装了Web Deploy 3.0,是否需要启用更多设置?


8
如果你找到了解决方案,最好将其作为答案发布在你自己的问题下面。 - angularrocks.com
2个回答

40

好的,我找到了解决方案,但花了我整整一天时间才让它正常工作!基本上,步骤如下。这里只是简略说明,请参阅下面详细的指南。

  1. 启用IIS Web管理角色功能。
  2. 安装Web Deploy 3.0(或更高版本)。确保自定义安装以包括处理程序(请参见下面的说明)。如果没有显示此选项,请转到添加/删除程序,找到WebDeploy,右键单击并选择“更改”选项。
  3. 在IIS中单击服务器节点,找到“管理服务”图标。启用远程访问并配置专用的IIS用户以进行远程部署(这将是填写用户名和密码框的凭据)。
  4. 在IIS的站点级别上,指定此用户来管理网站。
  5. 确保Web服务器上的端口8172已经打开(您可以在此处检查该端口)。
  6. 尝试从Visual Studio重新连接。对我来说,这里有一些试错,但错误消息确实链接到MS指南以进行解码 :)
  7. 即使成功连接后,我还必须处理权限问题,因此我的IIS用户拥有足够的特权来创建应用程序池、目录和一般的文件管理工作。

以下链接真的很有帮助!

在Web服务器上配置处理程序:

http://www.iis.net/learn/publish/using-web-deploy/configure-the-web-deployment-handler

通过Visual Studio连接:

http://msdn.microsoft.com/en-us/library/dd465337(v=vs.110).aspx

注意:

为确保处理程序正在运行,请登录到您的 IIS 服务器并将浏览器指向以下 URL。

https://<servername>:8172/MsDeploy.axd

按F12打开开发工具查看HTTP响应。另外,MsDeploy还会在inetpub/logs中创建IIS日志,如果您遇到连接问题,这些日志可能对您有所帮助。


1
截至本评论,您只需要使用Microsoft Web Platform安装“Web Deploy 3.5 for Hosting Servers”。当我安装了该组件后,我立即能够连接(当然是使用管理员帐户)。 - FrankO

2
我也遇到了同样的问题,这篇文章对我解决问题非常有帮助。我在尝试在我的Windows Server 2012上安装Web Deploy时遇到了严重的问题。Web Deploy 3.0的安装给了我很多错误,并且无法完成安装。
我尝试通过从http://www.microsoft.com/web/downloads/platform.aspx下载"Microsoft Web Platform Installer 5.0"来解决问题,但是没有解决。
我认为这可能是由于防火墙设置、授权问题、用户权限不足或类似原因导致的。最终我发现这并不是由于任何上述原因引起的。
我找到了最简单的解决方案,希望它也能帮助其他用户:直接从微软网站下载Web Deploy 3.5安装即可。

http://www.microsoft.com/en-us/download/details.aspx?id=39277

这可能听起来很平凡,但它解决了问题。我能够安装“Web管理服务”,但不能安装第二个所需的IIS服务“Web部署代理服务”。

感谢您的输入。 - Michael Winther
Server 2012和Web Deploy 3.6。直接下载并安装的建议仍然有效。重点是启用IIS部署处理程序,该选项在通过Web Platform Installer安装时默认情况下被禁用。 - mdisibio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接