котяра - база Каталина и внутренних переменных Каталина



у меня есть несколько экземпляров tomcat 6, работающих на одном сервере (Linux), и он работает так, как ожидалось. Я пытаюсь выяснить, что стандартная практика в отношении установки CATALINA_HOME и CATALINA_BASE переменные.



в моей установке tomcat у меня есть setup CATALINA_HOME чтобы указать на" общую " папку (скажем /tomcat6) и CATALINA_BASE переменной варьируется в зависимости от имени экземпляра (скажем /tomcat_instance1,/tomcat_instance2)



мой вопрос таков:




  • мне действительно нужны две переменные?

  • или я могу просто один CATALINA_HOME и покончить с
    CATALINA_BASE (или наоборот) ?

693   6  

6 ответов:

если вы используете несколько экземпляров Tomcat на одном хосте, вы должны установить CATALINA_BASE будет равна .../tomcat_instance1 или .../tomcat_instance2 каталог в зависимости от каждого экземпляра и CATALINA_HOME переменная окружения для общей установки Tomcat, файлы которой будут совместно использоваться двумя экземплярами.

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

есть довольно хорошее описание этой установки в RUNNING.txt файл в корне дистрибутива Apache Tomcat под заголовком Расширенная Конфигурация-Несколько Экземпляров Tomcat

CATALINA_HOME vs 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, который сказал:

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

вы не можете настроить 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, в файлы и каталоги разделяются следующим образом:

In CATALINA_BASE:

  • bin - только: setenv.sh (*nix) или setenv.летучая мышь (Windows), tomcat-juli.банку
  • conf - файлы конфигурации сервера (включая сервер.xml)
  • lib - библиотеки и классы, как описано ниже
  • logs - Лог и выходные файлы
  • webapps - автоматически загружаются веб-приложения
  • work - временные рабочие каталоги для веб-приложений
  • temp - каталог, используемый JVM для временных файлов>

In 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

Я не могу сказать, что знаю лучшую практику, но вот моя точка зрения.

Are вы используя эти переменные для чего?

лично мне не нужно было менять ни в Linux, ни в Windows, в средах, варьирующихся от разработки до производства. Если вы не делаете что-то конкретное, что зависит от них, скорее всего, вы могли бы оставить их в покое.

catalina.sh устанавливает переменные, которые Tomcat должен работать из коробки. Он также говорит это CATALINA_BASE дополнительно:

#   CATALINA_HOME   May point at your Catalina "build" directory.
#
#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
#                   of a Catalina installation.  If not present, resolves to
#                   the same directory that CATALINA_HOME points to.

Я уверен, что вы узнаете, работает ли ваша установка при запуске сервера.

указывать CATALINA_BASE в другой каталог от CATALINA_HOME позволяет отделить каталог конфигурации от каталога двоичных файлов.

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

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

обновить 2018

есть более простой способ установить CATALINA_BASE теперь с makebase утилиты. Я опубликовал учебник, который охватывает эту тему в http://blog.rasia.io/blog/how-to-easily-setup-lucee-in-tomcat.html вместе с видеоуроком по адресу https://youtu.be/nuugoG5c-7M

оригинальный ответ продолжение ниже

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

  • скопировать conf каталог из исходного каталога установки Tomcat, включая его содержимое, и убедитесь, что Tomcat имеет разрешения на чтение для него. Отредактируйте файлы конфигурации в соответствии с вашими потребностями.
  • создать если conf/logging.properties указывает на ${catalina.base}/logs, и убедитесь, что Tomcat имеет разрешения на чтение/запись к нему.
  • создать temp каталог, если вы не переопределяете значение по умолчанию $CATALINA_TMPDIR, который указывает на ${CATALINA_BASE}/temp, и убедитесь, что Tomcat имеет права на запись к нему.
  • создать значение по умолчанию ${CATALINA_BASE}/work, и убедитесь, что Tomcat имеет права на запись к нему.

CATALINA_BASE не является обязательным.

однако в следующих сценариях это помогает настроить CATALINA_BASE, который отделен от CATALINA_HOME.

  1. когда на одном хосте работает более 1 экземпляра tomcat

    • Это помогает иметь только 1 Время выполнения установки tomcat, с несколькими конфигурациями сервера CATALINA_BASE, работающими на отдельных портах.
    • если требуется исправление или обновление версии, только 1 Установка требуются изменения или их необходимо проверить/проверить/подписать.
  2. разделение забот (единая ответственность)

    • Tomcat runtime является стандартным и не изменяется во время каждого процесса выпуска. т. е. двоичные файлы Tomcat
    • процесс выпуска может добавить больше материала, как webapplication (папка webapps), конфигурация среды (каталог conf), журналы/temp/рабочий каталог

это родительская папка bin, которая содержит tomcat.exe файл:

CATALINA_HOME='C:\Program Files\Apache Software Foundation\Tomcat 6.0'

CATALINA_BASE это то же самое, что и CATALINA_HOME.

Comments

    Ничего не найдено.