검색을 해보다가
tomcat 의 구조에 대해 잘 정리해주신 글이 있길래
공부겸 정리해보려고 합니다.
https://cheershennah.tistory.com/111
tomcat
톰켓은 jsp환경을 포함하고 있는 servlet 컨테이너이다.
서블릿 컨테이너는 사용자 입장에서 서블릿을 유지하고 호출하여 실행하는 쉘이다.
톰켓은 크게 3가지 컨테이너로 구분한다.
1. Stand-alone servlet containers (tomcat의 기본모드)
- 내장된 웹서버 기능 사용
- 기능면에서 java web server의 부분인 servlet 컨테이너와 java 근간의 웹 서버 사용.
2. In-process servlet containers
- servlet컨테이너는 웹서버 플러그인와 java 컨테이너 구현
- 웹서버 플러그인은 웹서버 주소공간 내 JVM을 열고 그 안에서 java컨테이너가 실행되도록 한다.
- 다중스레드의 단일 프로세스 서버에 적합하고 퍼포먼스도 좋지만 확장성에 한계가 있음.
3. Out-of-process servlet container
- 웹서버 플러그인과 웹서버의 외부 JVM에서 실행하는 java컨테이너 구현
- 웹서버 플러그인과 java 컨테이너 JVM은 몇몇 IPC(보통은 tcp/ip소켓)를 사용해서 통신
- out of process엔진반응 시간은 in process만큼 좋지 않지만 out of process엔진은 확장성과 안정성면은 좋다.
Tomcat directory 구조
tomcat - tomcat 루트 폴더
|
└ bin - tomcat 실행에 필요한 서버동작 제어 스크립트 및 실행파일 (binary) ,
└ common -웹어플리케이션에서 공통적으로 사용하는 클래스 파일
└ conf - 서버 전체 설정파일 폴더 (server.xml 등 )
└ logs - 예외 발생 사항 등의 로그 저장
└ server - 서버에서 사용하는 클래스 라이브러리
└ temp - 임시 저장용 폴더
└ webapps - 웹 어플리케이션 루트 폴더
└ work - jsp 파일을 서블릿 형태로 변환한 java 파일과 class파일 저장
※ tomcat의 work 디렉토리는 maven의 target디렉토리와 같다고 보면된다.
webapps의 웹어플리케이션 접근할때 컴파일한 결과물은 모두 work디렉토리에 생성된다.
ex)
tomcat/work 디렉토리 안에 웹어플리케이션과 똑같은 이름의 jsp파일에 대한 컴파일 결과가 저장된다.
유지보수 작업중에
tomcat/work 밑에 있는 파일을 지우고 톰캣을 재기동 해보라고 가이드를 받아서
검색을 해보던 중 발견한 글
jsp 파일을 서블릿 형태로 변환한 파일들을 날리고 다시 톰캣을 기동할때 work 파일 밑에 새로운 파일들이 생성되니 톰캣을 좀 더 확실하게? 재기동 하는 방법으로 보입니다.
일단 이 방법으로 이슈가 해결이 되는지는 추후에 사업지 방문하여 확인해보기로!
'Back-End' 카테고리의 다른 글
[ DB2 ] SQL ERROR sqlcode=-302 sqlstate=22001 (0) | 2022.02.07 |
---|---|
맥에서 설치된 자바 확인하는 명령어 (0) | 2021.10.19 |