일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Redis
- 이클립스
- svn
- java
- Javascript
- DBeaver
- mybatis
- 자바
- IntelliJ
- Eclipse
- 디비버
- 자바문법
- db
- SQL
- oracle
- Server
- HTTP
- 인텔리제이
- 상태코드
- JQuery
- 오라클
- 모바텀
- Tomcat
- 자바스크립트
- 보안
- 마이바티스
- Linux
- 톰캣
- JSON
- git
- Today
- Total
JongTachi의 개발 블로그
[WAS] Tomcat Config File(톰캣 설정 파일) 본문
Tomcat의 설정 파일들은 Tomcat 서버의 동작을 정의하고 애플리케이션의 배포 및 보안 정책을 관리하는 데 중요한 역할을 합니다.
다음은 대표적인 Tomcat 설정 파일들에 대한 설명입니다
1. server.xml
역할: Tomcat 설정에서 가장 중요한 파일로, 서버의 주요 구성을 정의합니다.
위치: `TOMCAT_HOME/conf/server.xml`
주요 구성 요소:
- Service: 여러 `Connector`와 `Engine`을 포함하는 Tomcat의 핵심 구성 요소. Tomcat에서 사용하는 서비스들을 정의.
- Connector: 클라이언트와의 통신을 담당하는 부분으로, HTTP, HTTPS, AJP 등의 포트를 설정합니다. 예를 들어 HTTP 포트(기본값 8080), HTTPS 포트 등이 설정됩니다.
- Host: 가상 호스트 설정을 담당하며, 여러 도메인 이름이나 애플리케이션을 하나의 Tomcat 인스턴스에서 서비스할 수 있도록 도와줍니다.
- Engine: 요청을 처리하는 핵심 엔진. 요청을 호스트로 라우팅하고, 여러 서비스 간의 상호작용을 관리합니다.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
용도: 포트 변경, SSL 설정, 클러스터링 등 중요한 서버 동작을 정의합니다.
2. catalina.policy
역할: Tomcat에서 Java Security Manager를 사용할 때 필요한 보안 정책을 정의하는 파일입니다. 웹 애플리케이션이 어떤 시스템 자원에 접근할 수 있는지를 결정합니다.
위치: `TOMCAT_HOME/conf/catalina.policy`
주요 구성 요소:
- Policy Entry: 자바 애플리케이션에 대해 권한을 부여하는 항목을 정의합니다. 파일 시스템, 네트워크, 쓰레드 관련 권한 등을 세부적으로 제어할 수 있습니다.
- 보안 관리자를 활성화하면 JVM에서 웹 애플리케이션이 어떤 자원에 접근할 수 있는지 제어하게 됩니다.
grant codeBase "file:${catalina.home}/webapps/-" {
permission java.security.AllPermission;
};
용도: 애플리케이션의 보안 요구 사항에 따라 권한을 세부적으로 제어하는 데 사용됩니다. 예를 들어, 특정 파일 시스템 경로 접근이나 네트워크 연결을 제어할 수 있습니다.
3. catalina.properties
역할: Tomcat이 동작하는 데 필요한 기본 시스템 속성을 정의하는 파일입니다. 클래스 경로, 라이브러리 경로 등을 설정합니다.
위치: `TOMCAT_HOME/conf/catalina.properties`
주요 구성 요소:
- common.loader: Tomcat이 사용할 공용 클래스 경로를 정의. 모든 애플리케이션이 이 경로의 클래스를 참조할 수 있습니다.
- server.loader: Tomcat 내부에서만 사용되는 클래스 경로를 정의합니다.
- shared.loader: 공유 라이브러리를 정의하며, 이 경로의 라이브러리는 모든 웹 애플리케이션이 참조 가능합니다.
common.loader="${catalina.home}/lib,${catalina.home}/lib/*.jar"
용도: 클래스 로더 설정을 통해 서버와 애플리케이션의 라이브러리 의존성을 관리합니다.
4. web.xml
역할: Tomcat의 기본 서블릿 구성 파일로, 모든 웹 애플리케이션에 적용되는 전역 설정을 정의합니다.
위치: `TOMCAT_HOME/conf/web.xml`
주요 구성 요소:
- Servlet: 서블릿 매핑, 초기화 파라미터 등을 정의합니다.
- Filter: 요청과 응답을 가로채어 처리할 필터를 정의합니다.
- Listener: 애플리케이션 생명주기 이벤트에 대한 리스너를 설정합니다.
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
</servlet>
용도: 서블릿과 JSP에 대한 기본 동작을 설정하며, 모든 웹 애플리케이션에 적용됩니다.
5. logging.properties
역할: Tomcat에서 로그 파일의 동작을 제어하는 파일입니다. 로그 레벨, 로그 출력 형식, 로그 파일 경로 등을 설정할 수 있습니다.
위치: `TOMCAT_HOME/conf/logging.properties`
주요 구성 요소:
- Logger: 특정 클래스 또는 패키지의 로그 출력을 설정합니다.
- Handler: 로그 출력을 파일, 콘솔 등으로 지정합니다.
.handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = FINE
용도: 로그 레벨을 조정하여 개발 및 운영 시 로그를 효과적으로 관리할 수 있습니다.
6. context.xml
역할: 특정 웹 애플리케이션의 설정을 정의하는 파일로, 각 애플리케이션마다 개별 설정을 적용할 수 있습니다.
위치: `TOMCAT_HOME/conf/context.xml` 또는 각 웹 애플리케이션의 `META-INF/context.xml`
주요 구성 요소:
- Resource: 데이터베이스 연결 풀과 같은 리소스를 정의합니다.
- Environment: JNDI 환경 항목을 설정합니다.
<Context>
<Resource name="jdbc/MyDB" auth="Container"
type="javax.sql.DataSource" />
</Context>
용도: 개별 애플리케이션 설정을 통해 독립적인 리소스와 환경을 제공하는 데 사용됩니다.
'Server > WAS' 카테고리의 다른 글
[WAS] Tomcat 서버 Resource 설정 가이드 (2) | 2024.10.08 |
---|---|
[WAS] Tomcat 서버 Resources 설정 가이드 (0) | 2024.10.08 |
[WAS] Tomcat 서버 Context 설정 가이드 (0) | 2024.10.08 |
[WAS] Tomcat 실행시 발생하는 에러 org.springframework.web.context.ContextLoaderListener의 애플리케이션 리스너를 설정하는 중 오류 발생 (eclipse 버전) (0) | 2023.07.25 |