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

Posted

技术标签:

【中文标题】从 Visual Studio 2012 到远程 IIS 8 服务器的 Web 部署【英文标题】:Web Deploy from Visual Studio 2012 to a remote IIS 8 server 【发布时间】:2013-11-21 10:46:34 【问题描述】:

我有一个运行 IIS 8 的远程 Windows 2012 服务器,我从中托管一个 Web 应用程序。我的本地开发框正在运行 Visual Studio 2012。目前我将我的应用程序作为 Web 部署包 (.zip) 发布,RDP'ing 到生产服务器,复制 + 粘贴到文件夹并从 IIS 中部署应用程序。我的问题是,我需要进行哪些更改才能使用 Web 部署选项从 Visual Studio 2012 直接部署到 IIS?

我尝试关注this guide,但它指的是service URL,我必须从我的托管公司获得。我没有托管公司,我的服务器在同一地点。

我看到了以下选项:

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

【问题讨论】:

如果您找到了解决方案,最好将其发布为您自己问题的答案。 【参考方案1】:

好的,我找到了解决方案,但我花了一整天的时间才让它工作!基本上步骤如下。这非常粗略,但请参阅下面对我有帮助的详细指南。

    启用 IIS Web 管理角色功能。 安装 Web Deploy 3.0(或更高版本)。确保自定义安装以包含处理程序(请参阅下面的注释)。如果您没有看到此选项,请转到添加/删除程序,找到 webdeploy,右键单击并选择“更改”选项。 在 IIS 中单击服务器节点并找到“管理服务”图标。启用远程访问并为远程部署配置一个专用 IIS 用户(这些将是用户名和密码框中的凭据)。 在 IIS 的站点级别分配此用户来管理网站。 确保在 Web 服务器 (you can check this port here) 上打开端口 8172。 尝试从 Visual Studio 重新连接。对我来说这里有一些试验和错误,但错误消息确实链接到 MS 解码指南:) 即使连接成功后,我也不得不与权限争执,因此我的 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 日志,如果您遇到连接问题,这应该可以为您提供一些线索。

【讨论】:

在此评论中,您需要做的就是使用 Microsoft Web 平台安装“Web Deploy 3.5 for Hosting Servers”。当我安装该组件时,我能够立即连接(当然使用管理员帐户)。【参考方案2】:

我遇到了同样的问题,这篇文章对帮助我解决问题非常有用。在我的 Windows Server 2012 上尝试安装 Web Deploy 时无论如何遇到了严重的麻烦。Web Deploy 3.0 的安装给了我几个错误并且无法完成。

我试图解决从http://www.microsoft.com/web/downloads/platform.aspx 安装“Microsoft Web Platform Installer 5.0”的问题,但没有解决。

我认为这是由于防火墙设置、授权问题、没有权限的用户或类似的原因。最后我发现不是因为上面提到的任何原因。

我找到了最简单的解决方案,我希望它也能帮助其他用户:直接从 Microsoft 网站下载 Web Deploy 3.5 安装就足够了:

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

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

【讨论】:

感谢您的意见。 Server 2012 和 Web 部署 3.6。直接下载并安装的建议仍然有效。这一切都是为了启用 IIS 部署处理程序,默认情况下,在通过 Web 平台安装程序安装时,它作为安装选项被禁用。

以上是关于从 Visual Studio 2012 到远程 IIS 8 服务器的 Web 部署的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2012 远程调试:对内存位置的无效访问

应用程序启动时的 Visual Studio 远程调试

Visual Studio 2012 无法连接到远程计算机上的 BizTalk 适配器服务

Visual Studio 2012 分析远程调试过程

Visual Studio 2012 中的远程调试

Visual Studio 2012 远程操作花费的时间比预期的要长