Tomcat目前正在托管我的正在使用的ROOT.war
应用。
我需要测试一个新的ROOT.war,
,但我不想阻止我的正在生产的应用程序运行。请注意,该应用需要部署在ROOT
文件夹中。
最简单的方法是什么?
答案 0 :(得分:2)
Tomcat可以像Apache HTTPD一样进行基于名称的虚拟主机托管。你需要
<Host>
内向server.xml
添加第二个Engine
元素,但name
和appBase
<Host name="app2.example.com" appBase="app2-webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"/>
app2-webapps
Host
标头未经过触摸传递(对于带有mod_proxy的Apache HTTPD,这意味着设置ProxyPreserveHost On
现在,http://app2.example.com/*
的请求将由您的新应用处理,对任何其他主机名的请求将转到旧的。
我使用这种技术在一个Tomcat中托管几个不同的生产应用程序,但我不建议将同一个Tomcat用于生产和开发/测试应用程序的混合。相反,使用不同的服务器或在不同端口上运行的第二个Tomcat实例更安全。