【问题标题】:Automated Apache Server Maintenance Page自动 Apache 服务器维护页面
【发布时间】:2010-09-11 00:25:48
【问题描述】:

我有一个在 Linux/Apache/Tomcat 堆栈上运行的网站,需要每隔几个月自动离线以进行服务器维护,这将持续任意时间。有哪些选项可以让 Apache 建立和关闭“服务器维护”页面?

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


回答评论:

Mike's answer 看起来是最佳实践答案,尽管我要做的可能更像Dan's answer,因为第三方托管服务提供商控制着负载均衡器,我不想处理这种混乱。谢谢!

【问题讨论】:

    标签: apache maintenance


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      httpd -f <config>
      

      我经常将它与 shell 脚本结合使用,这是一个非常简单的配置作为维护占位符。该脚本只是停止我的常规 Apache,然后启动它。

      【讨论】:

        【解决方案3】:

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

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

        IIRC apache 配置文件是使用 CPP 构建的

        【讨论】:

          【解决方案4】:

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

          希望有帮助!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-01-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-02
            • 2012-09-30
            • 2014-04-02
            • 2017-05-03
            相关资源
            最近更新 更多