如何像 Reddit 和 Twitter 那样设置“服务器已关闭”消息?

如何像 Reddit 和 Twitter 那样设置“服务器已关闭”消息?

我有一个带有我们 Ubuntu LoCo 团队博客的 VPS,但我想设置一条消息,当发生这种情况时显示服务器已关闭,就像 Reddit 和 Twitter 那样。

例如,如果我重新启动服务器或者我的 VPS 出现故障,我希望用户从另一台服务器加载另一个页面,说明该网站已故障并将很快恢复。

我猜想可以通过冗余来实现,但老实说我对此一无所知。这可能吗?有相关教程吗?

我搜索了很多,但由于我不知道如何称呼这个“功能”,所以我真的不知道要寻找什么。

无论如何,如果有帮助的话,我使用 Nginx、PHP-FPM、PHP-APC 和 Ubuntu Server 12.04。我的 DNS 托管在 CloudFlare Pro 上。

提前致谢 :)

答案1

这种解决方案通常通过代理或负载平衡器实现。

像 reddit 这样的大型网站不会通过一台服务器提供所有服务。前端有一个负载平衡器。当它检测到其 Web 服务器(例如运行 php-fpm 的服务器)不再响应时,它会以错误 503 进行响应。

您已经有两个可以实现此目的的工具。Cloudflare 和 nginx。

Cloudflare 是 CDN 和代理服务的混合体,并且已经为您提供了此类工具。这将是最简单的路线。

Nginx 还能够充当代理和/或负载平衡器,并可以根据特定情况提供自定义错误。例如 php-fpm 没有响应。但是,这显然需要您至少拥有 2 个独立服务器。

相关内容