CATALINA_HOME проти CATALINA_BASE


11

Я не можу знайти остаточну відповідь на те, чому Ubuntu встановила б CATALINA_BASEзмінну середовища, зробивши її відмінною від CATALINA_HOME. Я знайшов цей документ, який говорить про те, що невстановлення CATALINA_BASEзробить його рівнозначним CATALINA_HOME. Цей документ також передбачає, що встановлення CATALINA_BASEбуде зроблено для надання декількох примірників.

Однак я, здається, не зможу знайти нічого, що пояснює це. Імовірно, біг з синглом CATALINA_HOMEбув давно хорошим, але Ubuntu перейшов.

Я знайшов це питання з висвітлюють відповіддю на AskUbuntu , та там не так багато саме на CATALINA_HOMEVS. CATALINA_BASE. Це питання натякає на параметр "appBase", який задокументований у документації Tomcat6 для контейнера Host у файлі конфігурації.

Ось питання: Чому ці дві змінні розділені? Коли їх слід розділити? Що це дозволяє адміністратору робити? Що ви потім поміщаєте у кожен каталог? Коли ці дві змінні повинні бути однаковими? Що рекомендує ASF для стандартної практики?


Відповіді:


12

Чому ці дві змінні розділені?

catalina.home вказує на розташування загальної інформації.
catalina.base вказує на каталог, де зберігається вся конкретна інформація про екземпляр .

Отже, у вас є 1 будинок і може бути більше 1 бази.

Коли їх слід розділити? Коли ці дві змінні повинні бути однаковими?

Якщо у вас є 1 tomcat, ви можете встановити їх на одне значення, але хороша практика запропонує вам планувати заздалегідь і тримати їх окремо: ви ніколи не знаєте, чи потрібно вам більше одного tomcat. Ubuntu почав дотримуватися такого способу мислення, оскільки він більш логічний: він полегшує запуск 2+ tomcats, але не вимикає запуск 1 tomcat, якщо встановлення їх обох на одне і те ж значення вимагатиме від кожного редагування базового значення. Має більше сенсу тримати їх різними.

Що це дозволяє адміністратору робити?

Дозволити одночасно запускати більше 1 tomcat, де кожен екземпляр tomcat може мати власні програми.

Що ви потім поміщаєте у кожен каталог?

Додому містить бінарні файли.
База містить конф, журнали, веб-карти, роботу та темп. 1 для кожного екземпляра tomcat.


4

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змінних середовищах використовуються для визначення місця розташування 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файли та каталоги поділяються таким чином:

В CATALINA_BASE:

  • bin - Тільки: setenv.sh (* nix) або setenv.bat (Windows), tomcat-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

3

Окрім того, що це найкращий спосіб запустити два екземпляри tomcat, це полегшує оновлення.

Я використовую цю установку.

<!-- 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(і деякі інші файли, читати документи, будь ласка) і створювати каталоги кошик, журнали, WebApps, темп, роботу (РТЛЙ, L , як Lovelly, будь ласка)

Ви можете оновити бінарні файли tomcat, змінивши CATALINA_HOMEфайл $ CATALINA_BASE / bin / setenv.sh для кожного примірника або просто змінити символічне посилання, оновивши бінарні файли "глобально"

Оновити його простіше, навіть якщо у вас є лише один екземпляр.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.