Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Tomcat одна много Root-путей


Автор: anonymouse 6.9.2007, 11:14
Возможно ли с помощью Tomcat работать параллельно с двумя приложениями находящимися в руте в URL ?
Может через Virtual host, только я не нашел как конкретно это сделать.
пример:

 /webapp1 - приложение 1
/webapp2 - приложение 2

http://localhost:8080 ---> ссылка на приложение 1
http://localhost:8081 ---> ссылка на приложение 2

Заранее спасибо

Автор: batigoal 6.9.2007, 12:51
Полагаю, Томкат способен слушать только один порт. Почему бы просто не запустить второй инстанс?

Цитата(anonymouse @  6.9.2007,  12:14 Найти цитируемый пост)
 /webapp1 - приложение 1
/webapp1 - приложение 2

А вот этого я не понял. Как же их различать?

Автор: anonymouse 6.9.2007, 14:41
Цитата(batigoal @  6.9.2007,  12:51 Найти цитируемый пост)
А вот этого я не понял. Как же их различать? 


сорри очепятка, подправил.


Цитата(batigoal @  6.9.2007,  12:51 Найти цитируемый пост)
Полагаю, Томкат способен слушать только один порт. Почему бы просто не запустить второй инстанс?

не подходит. Система работает на Virtual-Server а там всегда мало памяти. Есть еще проблемма с сессиями если работают две инстанции томката.
Правильней все таки запустить это на одном сервере на одной VM.

Автор: AlexeyVorotnikov 6.9.2007, 15:48
Наверное, надо несколько сервисов сконфигурить. Т.е. в server.xml должна быть примерно такая структура:
Код

<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Service1">
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>
    </Engine>
  </Service>
  <Service name="Service2">
    <Connector port="8081" protocol="HTTP/1.1" 
               connectionTimeout="20000" />
    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
      </Host>
    </Engine>
  </Service>

<Server/>


Автор: Aoli 7.9.2007, 17:54
Можно создать в томкате виртуальный хост.
Шаг 1ый: регистрируем в ОС хост: 127.0.0.1 virtual (RTсоответствующийM)
шаг 2ой: создаем в томкате через веб-интерфейс виртуальный хост с именем virtual.

Теперь, при запросе localhost:8080 будет вылезать один хост; при запросе virtual:8080 другой smile

Автор: kirillmana 27.8.2009, 07:23
Подскажите
А можно ли как-то не по портам, а по ip разнести?
Сервер имеет внутренний ip и внешний ip. Хотелось бы, чтобы часть приложений была только из внутренней сети.

Автор: AlexeyVorotnikov 27.8.2009, 11:03
Цитата(kirillmana @ 27.8.2009,  08:23)
Подскажите
А можно ли как-то не по портам, а по ip разнести?
Сервер имеет внутренний ip и внешний ip. Хотелось бы, чтобы часть приложений была только из внутренней сети.

IMHO, надо в кофигурации коннектора прописать параметр address, тогда коннектор будет отзываться только на запросы, пришедшие на этот адрес.

Автор: kirillmana 27.8.2009, 11:10
Цитата(AlexeyVorotnikov @ 27.8.2009,  11:03)
Цитата(kirillmana @ 27.8.2009,  08:23)
Подскажите
А можно ли как-то не по портам, а по ip разнести?
Сервер имеет внутренний ip и внешний ip. Хотелось бы, чтобы часть приложений была только из внутренней сети.

IMHO, надо в кофигурации коннектора прописать параметр address, тогда коннектор будет отзываться только на запросы, пришедшие на этот адрес.

Нужно, чтобы все были видны из-под внутреннего, а часть из-под внешнего

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)