Tomcat - Catalina_BASE 및 Catalina_HOME 변수
Tomcat 6의 여러 인스턴스가 동일한 서버(Linux)에서 실행되고 있으며 예상대로 작동합니다.나는 표준적인 관행이 무엇인지를 알아내려고 한다.CATALINA_HOME
그리고.CATALINA_BASE
변수입니다.
Tomcat 설치 환경에 셋업이 있습니다.CATALINA_HOME
공통 폴더를 가리키다/tomcat6
)와CATALINA_BASE
변수는 인스턴스 이름에 따라 달라집니다(예:/tomcat_instance1
,/tomcat_instance2
)
제 질문은 다음과 같습니다.
- 두 가지 변수가 정말 필요한가요?
- 아니면 하나만 줘도 돼?
CATALINA_HOME
을 없애다CATALINA_BASE
(또는 그 반대)
단일 호스트에서 여러 Tomcat 인스턴스를 실행하는 경우 다음을 설정해야 합니다.CATALINA_BASE
에 필적하다.../tomcat_instance1
또는.../tomcat_instance2
각 인스턴스에 적절한 디렉토리 및CATALINA_HOME
두 인스턴스 간에 파일을 공유하는 일반적인 Tomcat 설치에 대한 환경 변수입니다.
그CATALINA_BASE
호스트에서 단일 Tomcat 인스턴스를 실행하는 경우 환경은 선택 사항이며 기본적으로CATALINA_HOME
그런 경우에는요.여러 인스턴스를 현재 실행 중인 경우 해당 인스턴스를 제공해야 합니다.
이 설정에 대한 자세한 내용은RUNNING.txt
Apache Tomcat 배포 루트의 [Advanced Configuration - Multiple Tomcat Instances]라는 제목에 있는 파일
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
script는 파일을 찾는 데 사용되기 때문입니다.
예를 들어 다음과 같습니다.
(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-dombat.jarconf
- 서버 구성 파일(server.xml 포함)lib
- 아래 설명과 같은 라이브러리 및 클래스logs
- 로그 및 출력 파일webapps
- 자동으로 로드되는 웹 응용 프로그램work
- 웹 어플리케이션용 임시 작업 디렉토리temp
- JVM이 임시 파일에 사용하는 디렉토리 >인
CATALINA_HOME
:
bin
- 부팅 및 종료 스크립트lib
- 아래 설명과 같은 라이브러리 및 클래스endorsed
- 표준 "Endored Standards"를 덮어쓰는 라이브러리.기본적으로는 없습니다.
확인하는 방법
가장 쉬운 방법으로 고객님의 제품을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
다음과 같은 툴(데비안/우분투):
dpkg -L tomcat7-common
포인팅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에 대한 읽기 권한이 있는지 확인합니다.필요에 따라 구성 파일을 편집합니다. - 작성하다
logs
디렉토리 ifconf/logging.properties
가리키다${catalina.base}/logs
Tomcat이 읽기/쓰기 권한을 가지고 있는지 확인합니다. - 작성하다
temp
디렉토리(디폴트를 덮어쓰지 않는 경우)$CATALINA_TMPDIR
그 점을 가리키고 있다${CATALINA_BASE}/temp
Tomcat에 대한 쓰기 권한이 있는지 확인합니다. - 작성하다
work
디폴트 디렉토리${CATALINA_BASE}/work
Tomcat에 대한 쓰기 권한이 있는지 확인합니다.
베스트 프랙티스를 안다고는 할 수 없지만, 제 견해는 이렇습니다.
당신은 이 변수들을 어떤 것에 사용하고 있습니까?
개인적으로 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 를 설정하는 것이 도움이 됩니다.
동일한 호스트에서 둘 이상의 Tomcat 인스턴스가 실행되고 있는 경우
- 이것에 의해, 복수의 CatalINA_BASE 서버 설정이 다른 포토상에서 실행되고 있는, 1개의 실행시에만 Tomcat 인스톨이 가능하게 됩니다.
- 패치 적용 또는 버전 업그레이드가 필요한 경우 설치 변경은 1개만 필요하거나 테스트/검증/사인오프해야 합니다.
문제의 분리(단일 책임)
- Tomcat 런타임은 표준이며 모든 릴리스 프로세스에서 변경되지 않습니다.Tomcat 바이너리
- 릴리스 프로세스에서는 웹 애플리케이션(webapps 폴더), 환경 구성(conf 디렉토리), 로그/temp/work 디렉토리로 추가되는 경우가 있습니다.
이것은 Tomcat이 포함된 bin의 부모 폴더입니다.exe 파일:
CATALINA_HOME='C:\Program Files\Apache Software Foundation\Tomcat 6.0'
CATALINA_BASE
is is is is is와 CATALINA_HOME
.
언급URL : https://stackoverflow.com/questions/3090398/tomcat-catalina-base-and-catalina-home-variables
'programing' 카테고리의 다른 글
es6 react 컴포넌트가 "export default"에서만 동작하는 이유는 무엇입니까? (0) | 2022.09.16 |
---|---|
내용에 따라 iframe 크기 조정 (0) | 2022.09.16 |
url이 존재하지 않는 경우 file_get_module (0) | 2022.09.16 |
Django ORM을 사용하여 두 줄의 테이블을 한 줄로 조합할 수 있는 방법이 있습니까? (0) | 2022.09.16 |
SQL - 대규모 데이터 집합에서 여러 레코드의 최신 정보를 반환합니다. (0) | 2022.09.16 |