asp.net - 如何在对用户影响最小的情况下将网站部署到生产环境

标签 asp.net iis deployment

我正试图找到最佳的服务器架构解决方案,以将每月更新部署到 Asp.net 外部面向公众的网站。我正在寻找的是在对用户影响最小的情况下发布新版本网站的方法。除了部署标准方式(即停止 IIS、在现有网站上复制新网站、启动 IIS)之外,还有哪些“更好”的部署解决方案?如果他们保持 session 并且不必在更新期间看到“网站正在维护”消息,那就太好了。

我的服务器配置

我们有 2 个 IIS Web 服务器(2003 年),正在尝试找出利用它们进行部署的最佳方式。我的第一个想法是用最新版本更新非事件的网络服务器。然后优雅地将网络流量指向该服务器,对用户的影响最小(最好的情况是,用户不会丢失他的 session )。您将如何“重新指向”从服务器 1 到服务器 2 的 Web 流量?改变防火墙NAT?更改 DNS 记录?别的办法??我们需要能够在发布新更改后立即测试实时站点(duh)。

顺便说一句,我们正在使用 nant 和 cruise control 来自动化构建,并使用自定义 Web 服务将构建部署到生产环境。因此,只需单击一个按钮,这一切都是自动化的。

可以使用第三台服务器实现更好的解决方案吗?如果是怎么办?

最佳答案

我们的做法是

我们有一个来自 netscaler 的负载均衡器,

从负载均衡器中取出一个网络服务器,进行所有部署,执行 iisreset,然后放回负载均衡器中。

对 server2 做同样的事情。

最终使负载均衡器缓存失效。

关于asp.net - 如何在对用户影响最小的情况下将网站部署到生产环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4383338/

相关文章:

javascript - 设置默认 .aspx 页面访问?

java - JNLP 在下载资源时挂起

ruby-on-rails-3 - 当运行包在 US-ASCII 中获取无效的字节序列时

javascript - AJAX 404 错误 - 调用 Controller 操作 .Net MVC

c# - 将书签链接与 url 路由一起使用时出现问题

asp.net - 路由中的自定义包罗万象参数

.net - 从支付网关回发时丢失 session

iis - Chrome 是否忽略缓存控制 : max-age?

.net - IIS 10 - 找不到文件或目录

amazon-web-services - Aws Elasticbean 不运行我的 .jar 应用程序