하나의 서버에서 톰캣을 사용해 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
커맨드를 입력하여 서비스를 삭제할 수 있다.
댓글