https://ycjung93.tistory.com/7(Spring war 배포)
이전에 진행했던 Spring war 배포 관련 외부 톰캣을 살펴봤는데,
이번에는 conf 파일에 존재하는 설정파일들에 대한 추가적인 내용을 정리해보려 한다.
Apache Tomcat의 설정은 대부분 /conf 디렉토리 내의 XML 파일들로 이루어져 있는데,
주요 설정 파일들은 다음과 같은 역할을 한다.
/conf 구성
server.xml
- Tomcat의 기본 설정 파일입니다.
- 여기서는 Tomcat 서버의 전체적인 동작을 제어합니다.
- 이 파일에는 여러 Connector 설정이 들어 있습니다.
- 각 Connector는 특정 타입의 클라이언트 연결을 처리합니다.
- (예: HTTP, AJP). 또한, 이 파일에서는 여러 가지 요소, 예를 들면 엔진(Engine), 호스트(Host), 컨텍스트(Context) 등을 정의합니다.
context.xml
- 각 웹 애플리케이션의 컨텍스트 설정을 정의합니다.
- 각 컨텍스트는 일반적으로 웹 애플리케이션 하나를 나타내며, 이 파일은 각 웹 애플리케이션의 독립적인 실행 환경을 설정합니다.
web.xml
- 전체 서버에 대한 웹 애플리케이션 설정을 제공합니다.
- 서블릿, 필터, 리스너 등을 정의하고, 에러 페이지, 보안 설정, 세션 타임아웃 등의 기본 설정을 지정합니다.
tomcat-users.xml
- Tomcat 서버의 사용자와 역할을 정의합니다.
- 이 설정은 Tomcat의 관리자 페이지에 접근하는 데 사용될 수 있습니다.
catalina.properties
- Tomcat의 시스템 속성을 설정하는 데 사용됩니다.
- 이 파일은 Java의 시스템 속성을 설정하는 데 사용되며, 이 속성들은 Tomcat 실행 환경 전반에 걸쳐 적용됩니다.
logging.properties
- Tomcat의 로깅 설정을 제어합니다.
- Java의 내장 로깅 시스템을 사용하여 메시지를 기록하는 방법을 정의합니다.
그 중에서,
server.xml의 <Host> 태그에 대해서 살펴보자.
<Host> 태그의 주요 속성들은 다음과 같다.
name
- 가상 호스트의 이름입니다.
- 웹 브라우저의 URL에서 도메인 이름으로 사용됩니다.
appBase
- 이 호스트에 대한 웹 애플리케이션 디렉토리의 경로입니다.
unpackWARs
- WAR 파일을 자동으로 압축 해제할지 여부를 결정합니다.
autoDeploy
- 배포 디렉토리의 변경 사항을 주기적으로 확인하고, 변경 사항이 발견되면 해당 애플리케이션을 자동으로 배포합니다.
deployOnStartup
- Tomcat이 시작될 때 appBase 디렉토리의 웹 애플리케이션을 자동으로 배포할지 여부를 설정합니다.
Host 태그 내부에는 여러 <Context> 태그를 포함할 수 있다.
이들은 각각 웹 애플리케이션의 독립적인 실행 환경을 정의할 수 있다.
Host 태그는 도메인 이름 별로 웹 애플리케이션을 구분하고 구성하는 데 유용하다.
여러개의 도메인을 운영하는 경우 각 도메인에 대한 Host를 설정하여 각 웹 애플리케이션을 적절하게 처리할 수 있다.
server.xml - <Host> 태그
<Context> 태그 없이 war를 배포했다면,
기본적으로 war배포이름이 컨텍스트 패스가 되는 것을 인지하고 있어야 된다.
설정한 데로,
'ip/port/war배포이름/' 형식으로 URL 접근해야 된다.
이 부분을 몰라서,
만들었던 controller의 @RequestMapping에 접근이 안되는 문제로 고생좀 했다.
이정도는 기본중에 기본인가.
왜이렇게 어려운건지,, 후
'Spring Boot' 카테고리의 다른 글
Spring war 배포전 설정 문제 (0) | 2023.06.23 |
---|---|
Spring Starter Project 생성시. (0) | 2023.06.23 |