CATALINA_HOME по сравнению с CATALINA_BASE

Я не могу найти категорический ответ на то, почему Ubuntu установила бы CATALINA_BASE переменная среды, делая это отличающимся от CATALINA_HOME. Я нашел этот документ, который предлагает это не установка CATALINA_BASE сделал бы это эквивалентным CATALINA_HOME. Тот документ также предлагает ту установку CATALINA_BASE был бы сделан для предоставления доступа к нескольким экземплярам доступными.

Однако я, кажется, не могу найти что-либо, что объясняет это. По-видимому, работая с синглом CATALINA_HOME было хорошо в течение долгого времени, но переключенная Ubuntu.

Я нашел этот вопрос с освещающим ответом на AskUbuntu, но нет очень конкретно на CATALINA_HOME по сравнению с. CATALINA_BASE. Тот вопрос действительно ссылается на "appBase" параметр, который документируется в документацию Tomcat6 для контейнера Хоста в конфигурационном файле.

Вот вопросы: Почему эти две переменные разделяются? Когда они должны быть разделены? Что это позволяет администратору делать? Что Вы затем помещаете в каждый каталог? Когда эти две переменные должны быть тем же? Что ASF рекомендует для общепринятой практики?

11
задан 13 April 2017 в 05:23

3 ответа

Почему эти две переменные разделяются?

catalina.home указывает на местоположение общей информации.
catalina.base указывает на каталог, где весь экземпляр определенная информация сохранен.

Таким образом, Вы имеете 1 домашнее и можете иметь больше чем 1 основу.

Когда они должны быть разделены? Когда эти две переменные должны быть тем же?

Если бы у Вас есть 1 кот, можно установить их на то же значение, но хорошая практика предложила бы, чтобы Вы запланировали заранее и разделили их: Вы никогда не знаете, нужен ли Вам больше чем один кот. Ubuntu, запущенная после этого образа мыслей из-за него являющийся более логичным: это помогает работать 2 + коты, но не отключает выполнение 1 кота, где установка их обоих к тому же значению потребовала бы, чтобы все отредактировали основное значение. Имеет больше смысла сохранять их отличающимися.

Что это позволяет администратору делать?

Позвольте, чтобы больше чем 1 кот работал одновременно, где каждый экземпляр кота может иметь их собственные приложения.

Что Вы затем помещаете в каждый каталог?

Домой содержит binairy.
Основа содержит conf, журналы, веб-приложения, работу и временный файл. 1 для каждого экземпляра кота.

12
ответ дан 23 November 2019 в 03:58

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

Я использую эту установку.

<!-- language: bash -->

/opt/apache-tomcat-7.0-32
/opt/apache-tomcat-7.0.39
/opt/apache-tomcat-7       (simbolic link to apache-tomcat-7.0.32)

CATALINA_HOME =/opt/apache-tomcat-7

/srv/user_deploys/tomcat_product_a
/srv/user_deploys/tomcat_product_b

CATALINA_BASE точки одной или другой развертывает каталог.

Идут основные двоичные файлы и библиотеки /opt/ Просто копия server.xml, web.xml (и некоторые другие файлы, прочитайте документы), и создайте мусорное ведро каталогов, журналы, веб-приложения, временный файл, работа (RTLM, L как прекрасные)

Можно обновить двоичные файлы кота путем изменения CATALINA_HOME на файле $CATALINA_BASE/bin/setenv.sh для каждого экземпляра или можно просто изменить символьную ссылку, обновив двоичные файлы "глобально"

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

3
ответ дан 23 November 2019 в 03:58

CATALINA_HOME по сравнению с CATALINA_BASE

Если Вы выполняете несколько экземпляров, то Вам нужны обе переменные в других отношениях только CATALINA_HOME.

Другими словами: CATALINA_HOME требуется и CATALINA_BASE является дополнительным.

CATALINA_HOME представляет корень Вашей установки Tomcat.

Дополнительно, Tomcat может быть настроен для нескольких экземпляров путем определения $CATALINA_BASE для каждого экземпляра. Если несколько экземпляров не настроены, $CATALINA_BASE совпадает с $CATALINA_HOME.

См.: Apache Tomcat 7 - введение

Выполнение с отдельным CATALINA_HOME и CATALINA_BASE документируется в RUNNING.txt, в котором говорится:

CATALINA_HOME и CATALINA_BASE переменные среды используются для определения местоположения Tomcat Apache и местоположения его активной конфигурации, соответственно.

Вы не можете настроить CATALINA_HOME и CATALINA_BASE переменные в setenv сценарий, потому что они используются для нахождения того файла.

Например:

(4.1) Tomcat может быть запущен путем выполнения одной из следующих команд:

  %CATALINA_HOME%\bin\startup.bat         (Windows)

  $CATALINA_HOME/bin/startup.sh           (Unix)

или

  %CATALINA_HOME%\bin\catalina.bat start  (Windows)

  $CATALINA_HOME/bin/catalina.sh start    (Unix)

Несколько экземпляров Tomcat

При многих обстоятельствах желательно иметь единственную копию двоичного распределения Tomcat общие для многочисленные пользователи на том же сервере. Для создания этого возможным можно установить CATALINA_BASE переменная среды к каталогу, который содержит файлы для Вашего 'персонального' экземпляра Tomcat.

При выполнении с отдельным CATALINA_HOME и CATALINA_BASE, файлы и каталоги разделяются как следующее:

В CATALINA_BASE:

  • bin - Только: setenv.sh (*nix) или setenv.bat (Windows), кот-juli.jar
  • conf - Конфигурационные файлы сервера (включая server.xml)
  • lib - Библиотеки и классы, как объяснено ниже
  • logs - Файлы журнала и выходные файлы
  • webapps - Автоматически загруженные веб-приложения
  • work - Временные рабочие каталоги для веб-приложений
  • temp - Каталог, используемый JVM для временных файлов>

В CATALINA_HOME:

  • bin - Запустите и завершите работу сценариев
  • lib - Библиотеки и классы, как объяснено ниже
  • endorsed - Библиотеки, которые переопределяют стандарт "Подтвержденные Стандарты". По умолчанию это отсутствует.

Как проверить

Самый легкий способ проверить, что является Вашим CATALINA_BASE и CATALINA_HOME путем выполнения startup.sh, например:

$ /usr/share/tomcat7/bin/startup.sh
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7

Можно также проверить, где файлы Tomcat установлены, dpkg инструмент как ниже (Debian/Ubuntu):

dpkg -L tomcat7-common
4
ответ дан 23 November 2019 в 03:58

Другие вопросы по тегам:

Похожие вопросы: