실제 운영서버에 서버 리소스를 아끼기 위해
하나의 tomcat 서버에 포트를 다르게해서
애플리케이션을 2개 이상으로 띄울수가 있다.
이 방법은 톰켓 파일중 server.xml만 수정하면 간단히 기동가능 한데.
<!--?xml version="1.0" encoding="UTF-8"?-->
<server port="8005" shutdown="SHUTDOWN">
<listener classname="org.apache.catalina.startup.VersionLoggerListener"/>
<listener sslengine="on" classname="org.apache.catalina.core.AprLifecycleListener"/>
<listener classname="org.apache.catalina.core.JasperListener"/>
<listener classname="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
<listener classname="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<listener classname="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
<globalnamingresources>
<resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase">
</resource></globalnamingresources>
<service name="service1">
<connector connectiontimeout="20000" port="8080" protocol="HTTP/1.1" redirectport="8443"/>
<connector port="8009" protocol="AJP/1.3" redirectport="8443"/>
<engine defaulthost="localhost" name="service1">
<host appbase="서버 1 소스 경로 : (context를 지정하지않으면 ROOT 폴더가 있어야함)" autodeploy="true" name="localhost" unpackwars="true">
<context docbase="서버 1 프로젝트 디렉토리" path="" reloadable="true">
</context></host>
</engine></service>
<service name="service2">
<connector connectiontimeout="20000" port="18080" protocol="HTTP/1.1" redirectport="18443" />
<connector port="18009" protocol="AJP/1.3" redirectport="18443" />
<engine defaulthost="localhost" name="service2">
<host appbase="서버 2 소스 경로 : (context를 지정하지않으면 ROOT 폴더가 있어야함)" autodeploy="true" name="localhost" unpackwars="true">
<context docbase="서버 2 프로젝트 디렉토리" path="" reloadable="true">
</context></host>
</engine></service>
</server>
위처럼 수정해주면 간단히 설정가능하다.
주의할점을 실제 이클립스에서도 위처럼 설정하면 설정가능한데
다른 애플리케이션을 포트를 다르게 해서 위처럼 올린다면
Host appBase= 경로는 꼭 다른 경로여야 한다.
스캐닝중 하나의 context만 올라가서 이중으로 올긴 context가 무시되는 현상이 발생했다.
또한 service name과 engine name을 동일하게 해줘야 한다.
이부분만 주의한다면 서비스 2개 기동하는데 문제가 없을것 같다.
'Programming Bookmark > TOMCAT - WAS' 카테고리의 다른 글
HTTP 상태코드 코드별 상세 정리 TOMCAT Access_log 확인 시 구분 용이 (0) | 2019.06.24 |
---|---|
다중화된 톰켓 세션 공유 방법 정리 ( tomcat session clustering) (0) | 2019.03.08 |