본문 바로가기
IT/Server

서버에 톰캣 여러개 올리기

by sgoho01 2019. 12. 17.

하나의 서버에서 톰캣을 사용해 API를 올리고 사용하던중 다른 API도 올려서 사용해야 될 상황이 있었다.

 

전혀 다른 API라서 톰캣 하나의 여러개의 서비스를 올리기 보다 새로운 톰캣에 API를 올려 각자 관리할수 있도록 

구성하였다.

 

한 서버에 톰캣을 다중으로 올리기 위해서는 톰캣 설정을 변경해준뒤 서비스에 등록해 주면된다.

 

각 설정 방법은 아래와 같다. (서버는 윈도우 서버에서 작업하였다.)

 

톰캣 설정을 해주었던 파일 : 

  • tomcat/bin/catalina.bat

  • tomcat/bin/service.bat

  • tomcat/bin/shutdown.bat

  • tomcat/bin/startup.bat

  • tomcat/conf/catalina.properties

  • tomcat/conf/tomcat-users.xml



tomcat/bin/catalina.bat
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"
tomcat/bin/service.bat
set "JAVA_HOME=C:\Program Files\Java\jdk11.0.2"
set "JRE_HOME=C:\Program Files\Java\jdk11.0.2"
set "CATALINA_HOME=F:\API\tomcat9-project"
set DEFAULT_SERVICE_NAME=Tomcat9
set SERVICE_NAME=%DEFAULT_SERVICE_NAME%-project
set JvmMs=512
set JvmMx=1024
set JvmArgs=-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=1024m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:+DisableExplicitGC
tomcat/bin/shutdown.bat
set "CATALINA_HOME=F:\API\tomcat9-project"
set "CATALINA_BASE=F:\API\tomcat9-project"
set "SERVICE_NAME=project"
set "JAVA_HOME=C:\Program Files\Java\jdk11.0.2"
tomcat/bin/startup.bat
set "CATALINA_HOME=F:\API\tomcat9-project"
set "CATALINA_BASE=F:\API\tomcat9-project"
set "SERVICE_NAME=project"
set "JAVA_HOME=C:\Program Files\Java\jdk11.0.2"
set "CATALINA_OPTS=-Duser.timezone=GMT+09:00"
tomcat/conf/catalina.properties (설정파일을 개발/운영 구분했다면)
spring.profiles.active=prod
tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<user username="admin" password="admin" roles="manager,manager-gui,manager-jmx,manager-script" />

 

위와 같이 설정을 변경한 뒤 커맨드 명령어로 서비스 등록을 한다 .

tomcat/bin> service.bat install

해당 커맨드를 입력하면 서비스에 등록되고 톰캣에 API를 올려 사용 할 수 있다.

 

 

서비스를 삭제할 경우엔 

tomcat/bin>service.bat remove

커맨드를 입력하여 서비스를 삭제할 수 있다.

댓글