jar로 된 Spring boot 프로젝트를 war 로 배포(1) - tomcat 구성
반응형

spring boot 로 개발한 Standalone 을 외장 Tomcat에 War로 구성하여 성능을 비교하기 위해 먼저 tomcat을 구성하고 war 배포를 진행한다.

 

가장 먼저 해야 할 일은 성능 비교할 Tomcat 버전 확인

현재 Tomcat 버전은 8.5, 9.X, 10.X 이다. 이중 어떤 버전을 선택할지 몰라 고민하던 중 현재 사용하고 있는 Spring boot의 Embedded 된 Tomcat 의 버전을 사용하기로 했다. 배포 버전에 포함된 것이니 안정성도 문제 없을 것이다.

pom.xml 에서 현재 사용하고 있는 Spring boot 의 버전을 확인한다. (호환성에 문제가 생기지 않도록 버전을 직접 지정하여 구성하고 있다.)

spring-boot-starter-web 항목에서 version 을 확인하면 된다.

2.4.9를 이용중

 

확인한 정보로  https://mvnrepository.com 에서 검색해 보면 현재 구성된 Embedded Tomcat 의 버전을 확인할 수 있다. 

2.4.9에 내장된 Tomcat은 9.0.50 이다.

Tomcat 다운로드 

자 버전을 확인했으니 Tomcat을 받자. 홈페이지에 가서 왼편의 Tomcat 9을 선택하고 Core 항목 중 tar.gz을 받는다.

(링크에 보면 9.54 를 9.50 으로 변경하면된다. 귀찮아서 안바꿈.)

Soruce 를 받아 설치하지 말고 Core 항목 중 tar.gz을 받아 이용한다.

Tomcat 설치

아래와 같이 진행한다.

# tar 해제
$ tar xvf apache-tomcat-9.0.54.tar.gz
total 11320
drwxrwxr-x 3 enowy enowy     4096 Oct  5 13:21 .
drwxrwxr-x 4 enowy enowy     4096 Oct  5 13:21 ..
drwxrwxr-x 9 enowy enowy     4096 Oct  5 13:21 apache-tomcat-9.0.54
-rw-rw-r-- 1 enowy enowy 11576317 Oct  5 13:21 apache-tomcat-9.0.54.tar.gz

# Symbolic link 구성. 이렇게 구성하면 운영 환경에서 유용하다. 
# 버전 교체 시 신버전으로 옮기기만 하면 되고 원복은 역으로 진행하면 된다.
$ ln -s apache-tomcat-9.0.54 apache
$ ls -al
total 11320
drwxrwxr-x 3 enowy enowy     4096 Oct  5 13:23 .
drwxrwxr-x 4 enowy enowy     4096 Oct  5 13:21 ..
lrwxrwxrwx 1 enowy enowy       20 Oct  5 13:23 apache -> apache-tomcat-9.0.54
drwxrwxr-x 9 enowy enowy     4096 Oct  5 13:21 apache-tomcat-9.0.54
-rw-rw-r-- 1 enowy enowy 11576317 Oct  5 13:21 apache-tomcat-9.0.54.tar.gz

# tomcat 구동
$ cd apache/bin/
$ ./startup.sh
Using CATALINA_BASE:   /home/enowy/development/server/apache
Using CATALINA_HOME:   /home/enowy/development/server/apache
Using CATALINA_TMPDIR: /home/enowy/development/server/apache/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /home/enowy/development/server/apache/bin/bootstrap.jar:/home/enowy/development/server/apache/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

# Tomcat이 구동되었다.
$ ps -ef | grep tomcat
enowy      10639       1  0 12:53 ?        00:00:16 /usr/bin/java -Djava.util.logging.config.file=/home/enowy/development/server/apache/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /home/enowy/development/server/apache/bin/bootstrap.jar:/home/enowy/development/server/apache/bin/tomcat-juli.jar -Dcatalina.base=/home/enowy/development/server/apache -Dcatalina.home=/home/enowy/development/server/apache -Djava.io.tmpdir=/home/enowy/development/server/apache/temp org.apache.catalina.startup.Bootstrap start
enowy      10783    5828  0 13:25 pts/0    00:00:00 grep --color=auto tomcat
반응형