如何执行计划中的停机时间

显然,应该有一个停机页面位于Web服务器专门用于停机页面。 该页面应该包含一个简短的描述,并传输HTTP状态503。

假设我们有负载平衡器和几个Web服务器。 停机时间应该在两种情况下开始:

  1. 计划的技术支持
  2. 真正的停机时间,Web服务器不可用

其中一个解决scheme是从负载平衡器进行redirect。 如果一个Web服务器closures或不可用,并且将所有请求发送到另一个服务器上的停机时间页面,现在该如何运行HAProxy?

您可以在服务器行上的haproxyconfiguration文件中指定备份服务器,例如

服务器R1 127.0.0.1:9081备份

在这种情况下,绑定到本地计算机上的端口9081的Web服务器将在所有服务器closures(运行状况检查失败)或所有服务器处于维护模式时提供内容。 您可以运行一个轻量级的辅助networking服务器(例如nginx),纯粹是为了托pipe维护页面。

您可以通过发送一个命令到统计套接字来有意地把服务器置于维护模式,假设你已经configuration了这样的一个:

全球

统计socket /var/run/haproxy.stat模式600级pipe理员

那么你的命令将是这样的:

回声“禁用服务器yourbackendname / yourservername”| socat stdio /var/run/haproxy.stat

但请注意,以上要求安装socat

您可以像往常一样使用您的服务器来configurationhaproxy,并且将负载平衡其中的请求。 服务于停机页面的其他服务器应该在haproxy中configuration为backup服务器。

backup服务器将只在所有服务器closures时使用。 haproxy可以监控Web服务器的健康状况,从而知道任何服务器何时closures。