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"/>
- поставить свою вторую ROOT.war в
app2-webapps
- если ваш Tomcat находится за обратным прокси, убедитесь, что заголовок
Host
передан тельный нетронутый (для Apache HTTPD с mod_proxy это означает, что установка ProxyPreserveHost On
Теперь запросы на http://app2.example.com/*
будет обрабатываться вашим новым приложением, и запросы на любой другое имя хоста будут идти к старому.
Я использую этот метод для размещения нескольких разных производственных приложений в одном Tomcat, но я бы не рекомендовал использовать тот же Tomcat для смеси приложений для производства и разработки/тестирования. Вместо этого безопаснее использовать другой сервер или второй экземпляр Tomcat, работающий на другом порту.
Развернитесь в другом контексте или попробуйте виртуальные хосты http://tomcat.apache.org/tomcat-6.0-doc/virtual-hosting-howto.html – Bart
Вы тестируете приложение на своем производственном сервере? Вот в чем проблема. Используйте производственный сервер для производства. И еще один тестовый сервер для тестов. –