用“维护”信息来降低系统的最佳方法?

什么是最好的方式来降低apache2 / tomcat6设置维护? 具体来说,apache2可以保持运行,但是tomcat需要重启才能完成一些任务。 我最初的想法是改变httpd.conf VirtualHost条目中的根目录指向一个新的位置,然后发出一个force-reload命令,以引导stream量离开实际的tomcat应用程序。 经过一段时间后,我执行tomcat维护,切换VirtualHost条目,并force-reload以开始返回stream量。

有一个更好的方法吗? 我正在开始一个相当广泛的Web应用程序的工作,我现在的部署过程涉及到closures所有东西,并把一切都备份。 有没有比我提出的更好的方式来做到这一点?

这是你上面所描述的,或者如果你有一个负载平衡器和第二个服务器的某个地方,你可以重新路由LB的stream量指向备用服务器(服务静态“嘿,我们正在维护! !“页面)。

在负载平衡器(或通过IP交换第二个服务器)上处理维护窗口的优点是,您可以在再次将实时stream量指向它之前端对端地testing您的Tomcat堆栈,这样可以避免令人不快的意外,从开发环境的configuration偷偷地进入生产。

我看到有一个重写这样做的地方:

 ErrorDocument 503 "Our website is temporarily closed for maintenance. It should reopen by..." RewriteEngine On # TO ALLOW YOURSELF TO ACCESS THE SITE NORMALLY, SET THE NEXT LINE TO YOUR IP ADDRESS. RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$ RewriteRule .* - [R=503,L] 

IP 111.222.333.444是您的IP地址访问您的网站。 所有其他用户将redirect到503 ErrorDocument。 把所有这些放在你的虚拟主机的根目录下.htaccess。

我不知道它是否适用于tomcat,但它可以处理静态或PHP页面。 当然,Apache必须configuration为读取.htaccess文件