Tomcat 目前正在托管我的生产ROOT.war
应用程序。
我需要测试一个新的ROOT.war,
,但我不想阻止我的生产应用程序运行。请注意,该应用程序需要部署在该ROOT
文件夹中。
最简单的方法是什么?
Tomcat 目前正在托管我的生产ROOT.war
应用程序。
我需要测试一个新的ROOT.war,
,但我不想阻止我的生产应用程序运行。请注意,该应用程序需要部署在该ROOT
文件夹中。
最简单的方法是什么?
Tomcat 可以像 Apache HTTPD 一样进行基于名称的虚拟主机。你需要
<Host>
元素添加到您的server.xml
, 内部相同Engine
但具有不同值的 thename
和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 实例会更安全。