如何在Tomcat启动时禁用特定的应用程序?

13

我们公司正在运行当前生产环境,同时准备一台新的生产系统。我希望在Tomcat容器中预先安装应用程序,但是要将它们禁用(类似于Websphere中的功能)- 这非常重要,因为有些应用程序需要从数据库中获取数据,并启动这些应用程序会干扰当前的生产环境。这些应用程序将在生产交接时启用。

我该如何实现这一点?任何建议都将不胜感激。


那么,您希望Tomcat在启动时永远不会部署任何内容? - Christopher Schultz
4个回答

5
您只需要在启动Tomcat之前,将您不想自动启动的Web应用程序内的WEB-INF目录重命名为其他名称,例如Disabled-WEB-INF

稍后,如果您希望在Tomcat运行时启动该应用程序,则只需将目录重新命名为WEB-INF即可。注意不要删除html标签。


1
应用程序无法运行,但在管理器上仍显示为正在运行。 - Ciro Santilli OurBigBook.com

4
<Host>中添加deployIgnore属性,其值为要忽略的目录的正则表达式。如果您想忽略foo,只需设置deployIgnore="foo",如果您想要忽略更多目录,请使用正则表达式来设置值。

1
这会使应用程序未部署。需要的是使应用程序已部署但未启动。 - Hendy Irawan
但这是我找到的最佳解决方案。需要一些工作来启动应用程序(因为它尚未部署)。另请参阅http://www.coderanch.com/t/580390/Tomcat/Turning-off-auto-start-web - Hendy Irawan
在Ubuntu上,配置文件是/etc/tomcat7/server.xml,而deployIgnoreHost的一个属性。不被部署意味着它不会显示在管理器上,这就是为什么它更难启动的原因。 - Ciro Santilli OurBigBook.com

1
你可以使用Tomcat的Web应用程序管理器;这个Web应用程序允许你停止Tomcat中运行的任何应用程序。

4
谢谢,但要求是在Tomcat重新启动时应用程序不会自动启动 - 例如通过重新启动 - 否则,如果新的应用程序开始运行,它们可能会从生产数据库中提取数据,从而干扰当前的生产安装。 - BobbyF

1

8
这会禁止部署所有应用程序,包括“管理器”应用程序。需要做的是保持自动部署应用程序,但不启动它。 - Hendy Irawan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接