Server/Apache Tomacat

SpringBoot프로젝트 톰캣서버에 배포하기

doriver 2024. 4. 11. 16:35

 

1. sts에서 정상 작동하는, 간단한 웹 springBoot프로젝트 만든다.

이때 springBoot의 java버전과 내장톰캣의 버전이 중요하다

https://dorivertt.tistory.com/367

 

springBoot프로젝트를 외부 톰캣에서 구동할때 유의점

(springBoot의 버전) ~~ (톰캣의 버전) springBoot는 내장된 톰캣을 사용하는데 , 특정 버전의 스프링 부트는 특정 버전의 tomcat과 함께 사용하기 위해 특별히 조정되어 있습니다. 일반적으로 스프링 부

dorivertt.tistory.com

 

2. 내장톰캣 버전에 맞는 톰캣을 설치, 해당 톰캣의 java버전을 위 java 버전으로 맞춤

톰캣의 java버전은 (환경변수-시스템변수에 JAVA_HOME) 으로 되고

개별적으로 톰캣마다 설정할수도 있다고 하는데, 나는 아직 개별적 java버전은 설정하지 못함

 

3. springBoot프로젝트를 war파일로 패키징해서, 톰캣의 webapps폴더에 war파일을 복사   

https://dorivertt.tistory.com/363

 

sts에서 springBoot 프로젝트 war파일로 패키징, Gradle Tasks

build.gradle 파일에 plugins에 id 'war' 을 추가하면 Gradle Tasks에 bootWar , war 등 war관련된게 생김 ( Gradle Tasks를 띄워보면 위와같이 어떤 프로젝트에 여러가지 action을 취할수 있는듯 하다 ) clean 해주고 boot

dorivertt.tistory.com

 

톰캣 서버 실행을 하면, war파일을 위치시킨 webapps폴더에 war파일명과 동일한 폴더가 생성됨

( 톰캣 서버를 실행하면서 webapps폴더 내의 war 압축파일을 풀어 웹어플리케이션을 사용할 수 있게 만드는 것이다. )

 

만약 코드를 수정 후 war파일을 다시 export 해서 톰캣서버에 위치시킬 경우

톰캣 서버를 shutdown해 종료한후

webapps폴더에 있는 war파일과 파일명과 동일한 폴더를 같이 삭제 한 뒤에 war파일을 넣고 서버를 재실행하면 된다.

 

3-1. war파일명을 ROOT.war로 한경우

기존 ROOT파일의 이름을 다른것으로 변경해준 후 생성한 ROOT.war 파일을 넣어줍니다.

tomcat은 별도의 설정이 없으면 자동으로 webapps내 ROOT폴더를 root로 실행하기 때문에 파일명을 ROOT로 지어주면 별도의 설정을 할 필요가 없습니다.

 

4. 톰캣 실행하고, 브라우저로 만든 웹서비스에 접근

브라우저에 아래와 같이 URL 입력

http://localhost:8080 / ( war에 의해 만들어진 폴더명 ) / (스프링 기본경로, 참고로 default는 '/' ) / ( @Controller의 메소드 경로 )