使用维护页面回答所有请求,无需重新启动Apache HTTP服务器

假设我们有以下图片:

Apache HTTP服务器正在服务用户的请求。 它使用mod_jk将全部(或部分)请求转发给Tomcat服务器。

假设我们要closures在Tomcat上的应用程序两个小时进行维护。 我们希望所有访问该应用程序的用户都能得到一个有关该主题的消息(比如:对不起,我们正在维护我们的服务器,应用程序将在6点重新上线)。

有没有办法把这个维护页面在线而不重新启动Apache HTTP服务器? (服务器无法重新启动,因为它服务于其他应用程序)

谢谢

设置另一个只显示维护页面的Tomcat实例。 运行它而不是你的应用程序Tomcat。

顺便说一句,您可以正常地重新启动Apache HTTP服务器,该服务器在每个线程完成当前请求之后,为每个服务请求回收线程,因此不会丢弃请求。

只需configuration你的Apache返回适当的“对不起,我们正在进行一些维护巫术与巫术的飞溅,我们将很快返回。 Apache的ErrorDocument指令。 不需要重新启动 – 如果后端进程没有返回一些OK的http代码,如200,Apache将返回错误文档页面。

没有Apache重启,因为前台服务器停机? 然后,您可以使用apachectl -k graceful重新启动,并在configuration中进行更改,以便使用静态维护页面来处理请求。

除此之外,你可以有一个上游服务器处理所有的请求返回维护页面,你可以做一个基于DNS的交换机。