繁体   English   中英

将ASP MVC应用程序部署到运行IIS 7.5的Windows 2008服务器

[英]Deploying an ASP MVC application to Windows 2008 server running IIS 7.5

我一直在努力寻找有关如何做到这一点的一些可靠信息。 我发现的大部分信息都是从Visual Studio 20xx开始讨论Web部署的,但我不确定这是否是首选方法。 我希望能够“安装”MVC网站/ Web应用程序进行分段,然后在测试/缺少修复周期后,进行另一次构建并将其安装在生产环境中。 大家怎么样这样做? 文档如此宽松和有限,这似乎很奇怪。 这不是所有ASP.NET开发公司都做的吗? 有人可以向我解释推出和更新Web应用程序到Win2008 IIS 7.5的最佳方法吗? 基本上我正在寻找一个包装精良的安装程序。

发布网站的方法有多种。 解决方案取决于许多因素,例如您是在内部发布还是在外部发布。 如果要为第三方创建安装以在自己的服务器上安装,等等。

如果您有直接文件系统(即网络共享)访问您的Web服务器,并且您不关心具有单独构建服务器等的正式构建过程,那么使用Visual Studio的内置Web发布功能是最简单的方法。 您只需直接发布到网站虚拟目录的文件系统即可。 这非常有效,并支持大多数开箱即用的场景。

但是,如果您是一个更大的组织并希望获得更多控制权。 然后,您可以在服务器上安装WebDeploy并使用WebDeploy代理从Visual Studio发布,尽管WebDeploy设置起来很棘手并且没有很好的文档记录。 WebDeploy也可以在Visual Studio之外使用,并具有非常丰富的功能集。

有些人使用版本控制来部署到他们的站点。 他们进行构建,然后将其检入版本控制,然后“获取最新”进入服务器虚拟目录。 这使他们能够轻松回滚到以前的版本或时间点。

其他人使用构建和部署工具,如MSBuild,OctopusDeploy,Chuck Norris等......

还有一些人使用持续集成工具,这些工具可能会使用我已经提到过的一些工具。 CIC服务器,如TeamCity,CruiseControl.net等......

那里有大量的信息,还有很多方法可以做到这一点......因为很多方面都是个人选择,取决于你的情况,我们无法确切地说“做这个”或“做那个”。

好的,我在远程主机(Windows Server 2008 R2)和运行VS2013的客户端之间进行了Web部署。 我找到了一个很棒的网站,有一个演练。

在server 2012上安装和使用Web Deploy

这适用于Windows Server 2012,但也适用于Win 2008。

在我浏览完所有内容后,部署失败并显示错误:“无法加载文件或程序集'Microsoft.Web.Deployment,Version = 9.0.0.0 ......”

为解决该问题,我在运行VS 2013的计算机上下载并安装了最新的Web Deploy软件包。当时,最新版本为3.5:

Web部署3.5

这附带了客户端所需的依赖dll。 奇怪的是,我没有必要在运行相同版本的VS 2013的家用机器上做这个部分,所以我不知道为什么在这个特殊情况下这是必要的。

完成所有这些后,我能够以管理员身份远程部署我的Web应用程序。 由于安全问题,我不建议在主机上为管理员设置Web部署,但我上面链接的演练显示了如何为远程连接创建用户帐户。

编辑:我还找到了一个很好的故障排除指南,帮助我解决了一个问题: Web部署故障排除

我们使用内置的Visual Studio Web发布 ,并将其与web.config转换相结合,为每个环境部署适当的配置(设置,连接字符串等)。

设置完成后,就像选择所需的发布配置文件一样简单,然后按“发布”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM