当我的 Web 服务器是单台服务器时,如何使其离线进行维护

当我的 Web 服务器是单台服务器时,如何使其离线进行维护

我有一台 Windows 2008R2 服务器,为我们公司托管 Sql Server 和 IIS。

我需要偶尔将其取下来进行更新和备份。

这是设置

专用的 Windows 2008R2 服务器托管我的 Windows 2008R2 vps 网络服务器(我需要关闭该服务器)。

当我关闭此服务器时,我需要一种方法将域标记为当前正在维护而不是找不到主机。

域名直接指向我的网络服务器,因此当服务器宕机时,他们看到的只是主机未找到。如果有帮助的话,域名由 godaddy 托管。

有办法解决这个问题吗?有人有什么建议吗?

答案1

如果不添加某种类型的另一台服务器,就没有其他办法可以解决这个问题...虽然有很多种选择,但最终都归结为以某种形式实现的服务器冗余。

答案2

现在您的配置是:

DNS -> Your Server

因此,您唯一能做的就是重定向域名:

DNS -|   Your Server
     |-> Some Other Server Hosting 'This is Down'

不幸的是,DNS 缓存非常频繁,因此更新(无论是关闭网站还是恢复网站)可能需要很长时间才能传播到所有地方。DNS 记录上的短 TTL 会有所帮助,但会稍微损害性能。

一般来说,最好的做法是在你的机器前面安装一个反向代理或负载均衡器:

DNS -> Load Balancer -> Your Server

这样,您可以更改负载均衡器指向的位置,甚至可以让负载均衡器本身承载“This is Down”消息。它还为您提供了更可靠的配置,其中您拥有多个服务器:

DNS -> Load Balancer +--> Server 1
                     +--> Server 2

在这种配置下,您可能一次只能关闭一台机器,而不会让您的站点完全关闭。

顺便说一句,如果您不需要重新启动计算机,或者您不介意重新启动时网站仍处于关闭状态,那么您的最后一个选择是将所有这些压缩到一台计算机上。在计算机上运行 Nginx,让它正常代理 IIS,但在必要时显示错误消息。

答案3

您可以将 haproxy 放在 Windows 服务器前面,使用主机状态检查对其进行配置,并配置“服务不可用”页面。

相关内容