Разверните несколько веб-приложений, настроенных как Root, в одном экземпляре Tomcat. - PullRequest
2 голосов
/ 02 июня 2011

У меня около 6 или 7 веб-приложений, которые настроены для развертывания в качестве корневого приложения на Tomcat (6).Таким образом, к каждому приложению в дальнейшем можно будет получить доступ http://host:8080/

. Мне нужно развернуть эти веб-приложения на одном компьютере для обеспечения качества.Группа прокомментировала использование одного экземпляра Tomcat и развертывание каждого веб-приложения на другом порту, поэтому они все равно будут развернуты в качестве корневого приложения.

Любые предложения относительно того, как это сделать и каков наилучший подход

Ответы [ 2 ]

2 голосов
/ 16 ноября 2011

Вам нужно посмотреть на виртуальные хосты.

Обычный поиск хоста корневого контекста похож на http://www.mymachine.com:8080/, когда вы хотите поместить два приложения в один и тот же контекст, Tomcat не может этого сделатьпотому что он не знает, какое приложение должно отвечать на такой поиск.Обычно Tomcat разрешает эти конфликты, предлагая размещение различных приложений по пути «приложений», например

http://www.mymachine.com:8080/app1 (maps to) "Application 1"
http://www.mymachine.com:8080/app2 (maps to) "Application 2"

Однако для виртуальных хостов настраивается один веб-сервер для ответа на несколько запросов имени хоста.При такой конфигурации имя хоста можно затем использовать в качестве дифференциатора.

http://app1.mymachine.com:8080/(root) (maps to) "Application 1"
http://app2.mymachine.com:8080/(root) (maps to) "Application 2"

Обратите внимание, что такая конфигурация требует дополнительной работы, чтобы убедиться, что DNS знает оба имени хоста, и сопоставляет их оба стот же сервер Tomcat.Затем Tomcat (или Apache, если сервер Apache запускается перед вашим сервером Tomcat) должен быть настроен для сопоставления запроса по имени хоста и пути приложения с веб-приложением, а не просто по пути приложения к веб-приложению.

Вот документация о том, как это сделать в Tomcat 6.0 .Обратите внимание, что это не относится к сетевой работе, которую вам необходимо выполнить, чтобы оба имени хоста разрешались на одном компьютере.Удачи!

1 голос
/ 16 ноября 2011

Не думаю, что вам удастся использовать только один экземпляр.

Если вам необходимо, чтобы каждое приложение работало как корневое приложение, вам потребуется несколько экземпляров tomcat, работающих на разных портах.

Для развертывания в качестве корневого приложения просто назовите свое приложение ROOT.war и поместите его в каталог веб-приложений Tomcat.

Что касается того, является ли это правильным подходом, я бы не согласился. Скорее всего, вы столкнетесь с адом в использовании порта. Будет очень сложно и глупо управлять всеми портами, используемыми tomcat.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...