自动Apache服务器维护页面

时间:2008-09-18 23:49:27

标签: apache maintenance

我有一个在Linux / Apache / Tomcat堆栈上运行的网站,需要每隔几个月自动脱机以进行服务器维护,这将持续任意时间。让Apache建立起来并取下“服务器维护”页面有哪些选择?

我需要能够通过shell脚本来控制它。 (Google提供的答案围绕手动编辑服务器配置,我不想在凌晨3点在办公室!)我想我可以让脚本放入.htaccess文件并在完成后将其删除,但这似乎不够优雅。


回答评论:

Mike's answer看起来是最佳做法的答案,虽然我会做的更像Dan's answer,因为第三方托管服务提供商控制负载均衡器而我不想处理那一团糟。谢谢!

4 个答案:

答案 0 :(得分:5)

我们有一个设置可以做到这一点,但它不仅包括apache。有一个负载均衡器和两个服务器。两个Web服务器都使用Apache服务于网站,其中一个服务器有一个额外的虚拟主机,可以提供简单的HTML维护页面负载均衡器具有虚拟HTTP服务,可将请求重定向到真实服务器。此虚拟服务有三个真实服务器:两个是实际服务器,第三个是第二个服务器上指向维护页面的虚拟IP。真实服务器使用具有最小权重的第三个加权,并且负载平衡器使用固定加权算法。因此,当真实网站因任何原因离线时,所有请求都会转到维护主机,用户会看到带有电话号码的错误页面。事实上,我使用一个小脚本来检查真实服务器的运行状况,因此一旦出现任何问题,就会显示维护页面。

PS。我使用Load Master 1500作为负载均衡器。

答案 1 :(得分:3)

使用自定义配置文件启动Apache非常容易。在我的系统上:

httpd -f <config>

我经常结合shell脚本和极其简单的配置作为维护占位符使用它。该脚本只是停止我的常规Apache,并启动它。

答案 2 :(得分:1)

制作2个配置文件并来回交换

如果只有一小部分文件会发生变化,请将它们与各种预处理器合并,并从一个源生成标准版和“离线版”,并在这些版本之间进行交换。

IIRC无论如何使用CPP构建apache配置文件

答案 3 :(得分:0)

我们做了类似的事情。我们有一个index.html重定向到我们的主站点页面。当我们进行维护时,我们运行一个脚本来更改html文件中的重定向。然后我们通过cron和viola自动维护窗口中的脚本。

希望有所帮助!