본문 바로가기
DEV/연구목록

[Spring Boot] (작성중)war 파일 배포하기 (외부, 외장 톰캣)

by Rising One★ 2023. 2. 1.
728x90
반응형
SMALL

SpringBoot 대표이미지

 

필요성

 

 사내에서 개발한 Spring Boot 프로젝트의 배포를 앞두고, 로컬 PC에서의 정상적인 운영 검토를 마쳤습니다. 이후 외부 서버 PC에서 돌아가고 있는 톰캣에 이를 war 파일로 배포하는 과정을 수행하게 됐습니다. 로컬에서의 배포와는 사뭇 다르게 외부 톰캣으로의 배포를 위한 과정과 추가적인 설정 등을 깨달았고, 헤맸던 과정을 공유하며 오랜 기간 기억에 저장하고자 기록을 남기게 됐습니다. (+ 자잘한 사이드 지식)


접근

 

  1. STS (Spring Tool Suite)
  2. Window 11 서버PC

  3. Tomcat 9

  4. war file


방법 

  1. Spring Boot 프로젝트의 JDK 설치 & Installed JREs 등록

p

 

  2.  Spring Boot 프로젝트의 maven build 정상여부 파악

p

 

  3. Spring Boot 배포 특징 파악

- 스프링부트는 본래 내장 톰캣을 가지고 있음 (따라서 톰캣 설정 없이도 개발 툴에서 구동O)

- 스프링부트는 기본으로 만들어지는 형식이 jar 형식

  - 만들어진 jar 파일은 다른 곳(자바가 설치된 환경) 에서 "java -jar [jar 파일명]"으로 실행

  - jar를 만들 때 lib를 열어보면, 내장서버 라이브러리가 존재. (spring-boot-starter에서 지원하는 web server jetty)

- 서버(= 외장 톰캣)에 배포하는 경우에는 추가설정이 필요함

  - SpringBootServletInitializer 상속받기 + 의존성 추가

  - 상속의 형식으로 다른 자원에서 기동을 가능하게 해줘야함

 

  4. war 추출 (maven build)

- 특정 경로 하위에 war 파일 생성

 

  5. tomcat > webapp 하위 war파일과 war가 풀린 후 폴더명

- webapps 폴더가 url 상 루트 디렉토리가 되는 것

- (ex_ ip:8080), = /webapps 경로까지 진입한 셈(root)

- 해당 경로에 war를 풀어주면서 생긴 폴더명이 root 하위경로가 되는 것 (ip:8080/폴더명)

 

  6. root 디렉토리 변경 설정 (server.xml 파일)

- <Context path="/" docBase="sample reloadable="false"></Context> 사용

-

 

728x90
반응형
LIST

댓글