Tomcat으로 WAR 파일 배포
파일 목록
Tomcat 9.0
Tomcat 10.0 이전 버전 호환 문제
Javax 에서 Jakarta로 넘어갔기 때문에 웹 애플리케이션을 Servlet 5.0 으로 변경,
클래스 호출 부분 javax => jakarta 로 변경 필요함
Tomcat_HOME\webapps 에 배포할 war 파일 넣기
기본 경로 : C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps
Tomcat_HOME\conf 의 server.xml 수정
<Host></Host> 태그 안에 태그 추가
<Context path="/" docBase="TEST" reloadable="true" />
*해당 태그 작성하지 않아도 webapps 폴더에 있는 웹 애플리케이션 파일을 톰캣이 자동으로 Deploy 해줌. 이 때 Context-name : 파일명 / path : name과 동일
- path : 웹 애플리케이션 홈 url
- docBase : 배포할 파일명 ( 확장자 제외 )
- reloadable : 15초 간격마다 class 파일 변경 여부 확인 후 자동 재기동
*reloadable 주의사항
out of memory
서버를 재기동할 때 기존 서버의 클래스 파일 메모리가 해제하지 않고 신규 클래스 파일의 메모리를 새로 할당한다. 따라서 변경이 자주 있을 경우 heap memory 부족 으로 인해 out of memory 가 발생할 수 있다.
jenkins 배포 시 문제
jenkins 배포가 진행되는 동안, ant 빌드나 maven 빌드를 통해 class 파일이 변경되고 이 때 reloadable 이 true 일 경우 서버가 자동 재기동 된다. 이 때 민감한 솔루션을 포함하고 있다면 에러를 일으킬 수 있으니 웬만하면 jenkins 배포 시 false 로 설정할 것을 추천.
서버 실행
방법1) bin 폴더의 Tomcat9w 실행 -> start
방법2)
shell > cd Tomcat_Home\bin
shell > startup
실행 확인
기본 포트 : 8080
위에서 수정했던 server.xml 의 <Connectoer> 태그 안에서 포트 번호 수정 가능
'WAS > tomcat' 카테고리의 다른 글
[TOMCAT] TOMCAT CATALINA (0) | 2022.08.02 |
---|