有没有办法在 apache 重新启动或关闭时,有一个暂存页面,显示类似“网站已关闭,不要惊慌”之类的内容 - 只是一个静态 html 页面,没有什么花哨的东西?
如果可能的话我该怎么做?是否需要运行一个单独的 Web 服务器,一旦 Apache 宕机,该服务器就会启动。
任何能够提供帮助的想法或链接都将不胜感激!
答案1
“正确”的答案是,您应该拥有一个具有自动故障转移功能的集群,以应对计划外中断,并将 DNS 转移到新服务器以应对计划内中断……但您可能已经注意到,这并不总是一种选择。
当我需要一个真正最小的 Web 服务器来显示离线消息等时,我通常使用 netcat:
while true; do nc -l -p 80 -q 1 < offline.html; done
它以最少的模糊性完成工作,并让我无需在服务器上安装其他软件。完成后,只需按 ctrl-c 即可运行脚本。
您可能可以将其设置为在 Apache 宕机时启动,但我认为没有必要。在我的环境中,Apache 随机宕机的情况很少见。
答案2
我想问的第一件事是,您托管的是哪种类型的网站?如果是小型个人或公司网站,访客不多,那么就不要担心机器人停机,或者找一家可靠的托管服务提供商。
如果您确实想要一个页面,那么您可以在 Web 服务器关闭时使用反向代理服务器来重定向用户。
希望有所帮助,RayQuang
答案3
我建议使用反向代理,例如 NgniX。这样当 Apache 停机时,您会收到 502 或 504 错误,您可以使用自定义错误页面来处理。
答案4
如果您有一个上游缓存(squid 或类似缓存),可以在服务器重启时返回页面,那么这可能是可行的。
这将是自定义的 10060 错误页面(或 squid 引用它们的方式)