ASP.Net应用程序的安全部署

3

可能是重复问题:
如何在 ASP.NET 应用程序中实现零停机部署?

重复问题

大家好,

我有一个 asp.net 应用程序,我想安全地部署它(尽可能少的停机时间)。我希望能做到像蓝绿部署一样,但不需要第二个 Web 服务器。

所以,我知道可以使用负载均衡等方法,但我需要一种快速和便宜的方法。我考虑采取以下措施:

  • 在 IIS 中设置另一个网站(原始网站的副本),目前我使用主机标头将流量引导到各个站点。
  • 然后我可以在本地查看新站点,直到该站点完全上线(由于 NHibernate 启动和其他高强度任务,这需要一段时间)。
  • 一旦站点 2 完全启动,我就会更改主机标头,从而使停机时间大大缩短。

所以我的问题是,有人做过这样的事情吗?当更改主机标头时,IIS 会重新启动我的应用程序池或应用程序(使其无效)吗?还有其他选择吗?

感谢大家的帮助。

Guido


是的,因此在此帖子顶部进行了最后一次发布和编辑链接“重复问题”。 如果您有权限,关闭此帖子将是很好的,Mauricio。 - gatapia
1个回答

2
如果您触及web.config文件,应用程序池将会重新启动。即使重定向到新站点,由于路径不同,因此将创建一个新的会话对象(如果您正在使用会话)。那么cookie呢?您会使用根路径设置它吗?否则,cookie将无法在两个站点之间共享。
简单的解决方案是实际上关闭站点(使用app_offline.htm),复制文件并进行热启动。

http://learn.iis.net/page.aspx/688/using-the-iis-application-warm-up-module/

你考虑过 ARR 吗?

http://www.iis.net/download/applicationrequestrouting


嗨,Raj, 关于你的帖子,我有几个评论:我不会触及web.configs。在切换过程中,我不介意丢失会话cookie数据(我的应用程序实际上不使用会话)。第一个链接 - 我在IIS6上:(。第二个链接 - 那只是负载均衡,不是吗? - gatapia
是的,第二个是负载均衡(虽然您可能可以在一个服务器上完成所有操作)。 IIS预热脚本(从未使用过)http://blogs.msdn.com/joelo/archive/2006/08/13/697044.aspx 更改主机标头不应导致应用程序池重新启动。 做一些像触摸web.config或更改bin目录中的文件之类的事情会导致重新启动。 如果您的网站承受如此重的负载,那么您应该进行负载平衡,对吧?;-) - Raj Kaimal
“你不应该进行负载均衡吗?” - 是的,那是合乎逻辑的 :) 但我不能推销这个想法。 我在这个线程中找到了建议,我正在调查: https://dev59.com/bnVC5IYBdhLWcg3w51ry 如果这些方法有效,我会将此问题标记为重复。 - gatapia

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