Я не могу найти категорический ответ на то, почему Ubuntu установила бы CATALINA_BASE
переменная среды, делая это отличающимся от CATALINA_HOME
. Я нашел этот документ, который предлагает это не установка CATALINA_BASE
сделал бы это эквивалентным CATALINA_HOME
. Тот документ также предлагает ту установку CATALINA_BASE
был бы сделан для предоставления доступа к нескольким экземплярам доступными.
Однако я, кажется, не могу найти что-либо, что объясняет это. По-видимому, работая с синглом CATALINA_HOME
было хорошо в течение долгого времени, но переключенная Ubuntu.
Я нашел этот вопрос с освещающим ответом на AskUbuntu, но нет очень конкретно на CATALINA_HOME
по сравнению с. CATALINA_BASE
. Тот вопрос действительно ссылается на "appBase" параметр, который документируется в документацию Tomcat6 для контейнера Хоста в конфигурационном файле.
Вот вопросы: Почему эти две переменные разделяются? Когда они должны быть разделены? Что это позволяет администратору делать? Что Вы затем помещаете в каждый каталог? Когда эти две переменные должны быть тем же? Что ASF рекомендует для общепринятой практики?
Почему эти две переменные разделяются?
catalina.home указывает на местоположение общей информации.
catalina.base указывает на каталог, где весь экземпляр определенная информация сохранен.
Таким образом, Вы имеете 1 домашнее и можете иметь больше чем 1 основу.
Когда они должны быть разделены? Когда эти две переменные должны быть тем же?
Если бы у Вас есть 1 кот, можно установить их на то же значение, но хорошая практика предложила бы, чтобы Вы запланировали заранее и разделили их: Вы никогда не знаете, нужен ли Вам больше чем один кот. Ubuntu, запущенная после этого образа мыслей из-за него являющийся более логичным: это помогает работать 2 + коты, но не отключает выполнение 1 кота, где установка их обоих к тому же значению потребовала бы, чтобы все отредактировали основное значение. Имеет больше смысла сохранять их отличающимися.
Что это позволяет администратору делать?
Позвольте, чтобы больше чем 1 кот работал одновременно, где каждый экземпляр кота может иметь их собственные приложения.
Что Вы затем помещаете в каждый каталог?
Домой содержит binairy.
Основа содержит conf, журналы, веб-приложения, работу и временный файл. 1 для каждого экземпляра кота.
Помимо того, чтобы быть лучшим способом выполнить два экземпляра кота, это делает легче обновить.
Я использую эту установку.
<!-- 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 для каждого экземпляра или можно просто изменить символьную ссылку, обновив двоичные файлы "глобально"
Легче обновить, даже если у Вас есть всего один экземпляр.
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 общие для многочисленные пользователи на том же сервере. Для создания этого возможным можно установить
CATALINA_BASE
переменная среды к каталогу, который содержит файлы для Вашего 'персонального' экземпляра Tomcat.При выполнении с отдельным
CATALINA_HOME
иCATALINA_BASE
, файлы и каталоги разделяются как следующее:В
CATALINA_BASE
:
bin
- Только: setenv.sh (*nix) или setenv.bat (Windows), кот-juli.jarconf
- Конфигурационные файлы сервера (включая 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