본문 바로가기
Spring Boot

Spring 외부 tomcat 설정 관련

by ycjung93 2023. 6. 23.

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