Можем ли мы указать несколько URL-адресов на одно и то же веб-приложение в Tomcat? - PullRequest
3 голосов
/ 08 июля 2011

Я использую веб-сервер Apache и сервер Tomcat для размещения нескольких веб-приложений.

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

В настоящее время доступ к веб-приложениям осуществляется с помощью отдельных URL-адресов, например: localhost:8080 / webapp1, localhost: 8080 / webapp2.

Без изменения URL-адресов есть способ, с помощью которого я могу разместить веб-приложение на tomcat, например «singlewebapp», чтобы оно отвечало на оба localhost: 8080 / webapp1как localhost: 8080 / webapp2?

Ответы [ 3 ]

5 голосов
/ 07 октября 2011

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

Допустим, веб-приложение abc.war.Мы внедряем abc.war в tomcat webapps как папку abc, затем нам нужно настроить server.xml tomcat следующим образом и перезапустить tomcat:

<Host ...>
  ...
  <Context path="/webapp1" docBase="/abc" /> 
  <Context path="/webapp2" docBase="/abc" /> 
</Host>

Поверьте, это очень полезно для поддержки белой маркировки и мульти-tenancy.

0 голосов
/ 12 марта 2013

Вместо редактирования server.xml создайте context.xml на локальном хосте (или вашем хосте) каталины tomcat. потому что если отредактировать server.xml, нам нужно перезапустить сервер.

создание context.xml:

  1. имя файла xml должно быть вашим путем i, e webapp1 / webapp2

  2. данные в формате xml следующим образом (если вы создаете путь для файла abc.war)

    а). XML-файл называется webapp1.xml б). XML-файл называется webapp2.xml

    "lessthan symbol" ?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    "lessthan symbol" Context reloadable="true" privileged="true" docBase="${catalina.home}/abc" crossContext="true" antiResourceLocking="false" allowLinks="true"/>
    

выше XML-файлов должны быть размещены в tomacat / conf / Catalina //

0 голосов
/ 08 июля 2011

Я не думаю, что вы можете сделать это таким образом.Похоже, ваше имя хоста и порты для всех приложений одинаковы, но корни контекста (webapp1 и webapp2) разные.У нас не может быть корневого контекста sinlgle для доступа к myltiple приложениям с одинаковыми именем хоста и портом.

Каждый веб-сервер может запускать одно приложение на одном сочетании порта и хоста.Если вы хотите запускать несколько приложений на одном хосте, очевидно, что вам нужно добавить как можно больше виртуальных IP-адресов, и они должны быть настроены в файле .config вашего веб-сервера, чтобы сделать приложения виртуально доступными.на веб-сервере на основе IP-адреса (существуют концепции программного и аппаратного виртуального сервера, которые необходимо изучить).Чтобы иметь несколько IP-адресов на одном сервере, вам нужно добавить как можно больше сетевых карт, чтобы виртуально увеличить количество IP-адресов.

Если вы умеете использовать концепцию виртуального сервера, конечно, вам нужно немного изменить свое требование.

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