CATALINA_HOME 및 CATALINA_BASE


11

우분투가 CATALINA_BASE환경 변수를 설정하여 왜와 다른지에 대한 확실한 대답을 찾을 수 없습니다 CATALINA_HOME. 설정하지 않으면에 해당하는 문서 를 찾았 CATALINA_BASE습니다 CATALINA_HOME. 또한이 문서에서는 CATALINA_BASE여러 인스턴스를 사용할 수 있도록 설정 을 수행 할 것을 제안합니다 .

그러나 나는 이것을 설명하는 것을 찾을 수없는 것 같습니다. 아마도 싱글로 달리는 CATALINA_HOME것이 오랫동안 좋았지 만 우분투는 바뀌 었습니다.

나는 발견 이 질문에조명 대답 AskUbuntu에를하지만에 훨씬 특히이없는 CATALINA_HOMECATALINA_BASE. 이 질문은 구성 파일의 호스트 컨테이너에 대한 Tomcat6 설명서에 설명 된 "appBase"매개 변수를 암시 합니다.

질문이 있습니다 : 왜이 ​​두 변수가 분리되어 있습니까? 언제 분리해야합니까? 이를 통해 관리자는 무엇을 할 수 있습니까? 그런 다음 각 디렉토리에 무엇을 배치합니까? 이 두 변수는 언제 같아야합니까? 표준 연습에 ASF가 권장하는 것은 무엇입니까?


답변:


12

이 두 변수가 분리 된 이유는 무엇입니까?

catalina.home은 공통 정보의 위치를 ​​가리 킵니다.
catalina.base는 모든 인스턴스 특정 정보가 있는 디렉토리를 가리 킵니다 .

따라서 집이 1 개이고 기지가 1 개 이상있을 수 있습니다.

언제 분리해야합니까? 이 두 변수는 언제 같아야합니까?

바람둥이가 1 개이면 같은 값으로 설정할 수 있지만 좋은 방법은 미리 계획하고 따로 보관 해 두는 것이 좋습니다. 둘 이상의 바람둥이가 필요한지 전혀 모릅니다. 우분투는 더 논리적이기 때문에 이러한 사고 방식을 따르기 시작했습니다 .2+ 바람둥이를 더 쉽게 실행할 수 있지만 1 바람둥이를 모두 같은 값으로 설정하면 모든 사람이 기본 값을 편집해야합니다. 그것들을 다르게 유지하는 것이 더 합리적입니다.

이를 통해 관리자는 무엇을 할 수 있습니까?

각 Tomcat 인스턴스에 고유 한 앱이있을 수있는 동시에 둘 이상의 Tomcat을 실행할 수 있습니다.

그런 다음 각 디렉토리에 무엇을 배치합니까?

집에는 binairy가 들어 있습니다.
기본에는 conf, logs, webapps, work 및 temp가 포함됩니다. 모든 Tomcat 인스턴스에 대해 1입니다.


4

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_HOMECATALINA_BASERUNNING.txt에 설명되어 말을한다 :

CATALINA_HOMECATALINA_BASE환경 변수는 각각 아파치 톰캣의 위치 및 활성 구성의 위치를 지정하는데 사용된다.

당신은 구성 할 수 없습니다 CATALINA_HOMECATALINA_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_HOMEstartup.sh

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

dpkg다음과 같은 도구로 Tomcat 파일이 설치된 위치를 확인할 수도 있습니다 (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(워드 프로세서 제발 읽고, 다른 파일) 및 디렉토리에게 빈, 로그, 웹 어플리케이션, 온도, 작품을 제작 (RTLM, lovelly로 L하시기 바랍니다)

CATALINA_HOME각 인스턴스에 대해 $ CATALINA_BASE / bin / setenv.sh 파일을 수정하여 Tomcat 바이너리를 업데이트 하거나 심볼릭 링크를 수정하여 바이너리를 "전역 적으로"업데이트 할 수 있습니다

인스턴스가 하나만 있어도 업데이트하기가 더 쉽습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.