1. WEB WAS의 동작과정
-
클라이언트 요청 수신
웹 서버는 클라이언트로부터 HTTP 요청을 받습니다. 이 요청은 주로 웹 브라우저를 통해 발생합니다. -
요청 분석
웹 서버는 받은 요청을 분석하여 요청된 자원 및 요청 방식(CRUD)를 확인합니다. -
정적 자원 처리
요청된 자원이 정적인 경우(이미지 파일) 웹 서버 자체적으로 자원을 찾아냅니다. -
동적 자원 처리
요청된 자원이 동적인 경우(Servlet) 에는 웹 서버가 WAS로 해당 요청을 전달합니다. -
WAS로 요청 전달
웹 서버는 동적 자원에 대한 요청을 WAS로 전달합니다. 이때 일반적으로 HTTP, HTTPS 등을 통해 통신합니다. -
요청 처리
WAS는 받은 요청을 처리하고, DB(Mybatis, JPA 등)다른 서비스와의 통신을 통해 요청에 대한 응답을 생성합니다. -
응답 전송
WAS는 처리한 결과를 다시 웹 서버로 전송합니다. -
클라이언트 응답
웹 서버는 받은 응답을 클라이언트에게 전달하여 사용자에게 보여줍니다.
요약
전체적으로 보면 웹서버(Apache)에서 보통 정적 파일 요청을 담당하고 리버스 프록시를 통해 동적자원을 처리하는 WAS로 로드밸런싱 처리를 진행하고 Database, Transaction 등 여러 서비스와의 통신을 담당한 후 다시 웹서버로 자원을 전송하여 웹서버는 응답값을 클라이언트에 전송하는 과정을 가지게 됩니다.
2. WAS의 설정파일은 무엇이 있을까?
-
server.xml:
톰캣의 주요 설정 파일 중 하나로,톰캣 서버의 설정
을 담당합니다. 일반적으로<톰캣 설치 디렉토리>/conf/server.xml
경로에 위치합니다. 이 파일에서는포트, 가상 호스트, SSL 설정
등을 관리할 수 있습니다. 주의해야 할 점은, 이 파일을 수정할 때 톰캣을 다시 시작해야 변경 사항이 적용됩니다. -
web.xml:
웹 애플리케이션의 설정 파일로, 각 웹 애플리케이션마다 별도로 존재합니다. 일반적으로 각 웹 애플리케이션의WEB-INF/web.xml
경로에 위치합니다. 이 파일에서는서블릿 매핑, 필터 설정, 에러 페이지
등과 같은 웹 애플리케이션의 세부적인 설정을 관리할 수 있습니다. -
context.xml:
톰캣 컨텍스트의 설정 파일로, 각 웹 애플리케이션마다 별도로 존재합니다. 일반적으로 각 웹 애플리케이션의META-INF/context.xml
경로에 위치합니다. 이 파일에서는데이터베이스 연결 설정, 리소스 설정
등과 같은 컨텍스트 수준의 설정을 관리할 수 있습니다. -
setenv.sh:
이 파일은 톰캣 실행 환경 변수를 설정하는 데 사용됩니다. 주로메모리 설정 (예: JVM 메모리 크기), 시스템 속성, 환경 변수
등을 설정할 때 사용됩니다. 이 파일은<톰캣 설치 디렉토리>/bin/
경로에 있으며, 필요에 따라 생성하고 수정할 수 있습니다.
주로 WAS(Tomcat)에서 설정 파일들의 특성을 알아보았습니다. 이것들은 실무에서 반드시 알아야할 필수불가결한 중요한 요소라고 생각이 됩니다. 운영시 인프라 이러한 WAS 설정파일에 대한 이해는 여러 장애상황에서 빠른 대응이 가능할 것으로 보여집니다.