Назад | Перейти на главную страницу

Размещение 2 версий одного и того же веб-сайта Java в tomcat

У меня есть веб-сайт, созданный на сервере unix.

Я работаю в команде еще с двумя разработчиками, которые также работают над сайтом.

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

Теперь я скопировал все содержимое веб-приложений веб-сайта в другой каталог на том же сервере.

У меня есть Tomcat, который был ранее установлен, который указывает на исходный каталог веб-приложений.

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

Какие здесь жизнеспособные варианты?

Предлагаю открыть bin/catalina.sh в текстовом редакторе и начните читать с этого места вниз:

# -----------------------------------------------------------------------------
# Control Script for the CATALINA Server
#
# Environment Variable Prerequisites
#
#   Do not set the variables in this script. Instead put them into a script
#   setenv.sh in CATALINA_BASE/bin to keep your customizations separate.

bin/setenv.sh не существует по умолчанию, но это настоящая жемчужина: любые переменные или скриптлеты, которые вы помещаете в такой файл, получают от bin/catalina.sh, который, в свою очередь, вызывается всякий раз, когда bin/startup.sh и bin/shutdown.sh быть вызванным.

  • Продолжайте читать вниз с этого места и обратите внимание на различные переменные и то, что они делают. Некоторые из них могут быть вам уже знакомы, например JAVA_HOME. Других может и не быть, вроде CATALINA_OPTS, который следует предпочесть JAVA_OPTS где возможно.
  • Изучить bin/startup.sh и bin/shutdown.sh внимательно, ищем настройки: ни одна из переменных, описанных в bin/catalina.sh документация должна быть определена. Администраторы и разработчики, которые не знают bin/setenv.sh имеют тенденцию напрямую изменять сценарии запуска и завершения работы, что является плохой практикой. Переместите эти настройки в bin/setenv.sh чтобы вы могли лучше отслеживать различия между двумя контейнерами Tomcat.
  • Использовать JAVA_HOME чтобы указать путь к разным установкам Java. Tomcat выполнит $JAVA_HOME/bin/java, а не версия java, которая есть в вашем PATH переменная. (если только JRE_HOME существует, документация, которую я рекомендовал вам прочитать, объясняет разницу) Если каждый Tomcat должен использовать другую версию Java, тогда они должны иметь разные JAVA_HOME пути. Если они должны использовать одну и ту же версию Java, тогда переменная должна быть одинаковой для обоих.
  • Отрегулировать conf/server.xml и измените порты, которые прослушивает Tomcat. Все экземпляры слова port которые не находятся внутри блока комментариев (<!-- -->) необходимо настроить, иначе возникнут конфликты портов.
  • Если у вас есть требование, чтобы оба этих Tomcats находились за одним портом, вам понадобится либо балансировщик нагрузки перед ними, либо веб-сервер, который проксирует трафик. Веб-сервер может работать на том же компьютере, вы должны прокси на localhost (127.0.0.1) в таком случае. На основе запрошенного URI пусть балансировщик нагрузки или веб-сервер направят трафик на соответствующий Tomcat.