여러개의 Host
한개의 tomcat 에서 여러개의 host(domain)을 사용해 보자.이를 tomcat 에서 Host 로 분류하고 있다. tomcat 의 구조는 여기를 보면 되는데, 기본적으로 request 를 받고, 처리하는 부분은 똑같이 사용하고, 들어온 packet 을 domain 을 보고 나눠 주는 것이다.
이것은 tomcat 에서 한 host 에서 application 을 여러개 띄우는 것이랑 기본적으로 비슷하다. 그런데 tomcat 에서 application 을 여러개 띄우면 URL 이 application 이름(기본설정에서) 으로 갈린다.
만약 app1, app2 라는 application 이 있다면 URL 은 아래처럼 설정된다.
- http://hello.com:8080/app1
- http://hello.com:8080/app2
host 를 여러 개 갖는 것은 아래같은 URL 이 가능하다.
- http://hello.com:8080/
- http://hello2.com:8080/
참고로, 만약 port 로 쪼개고 싶다면, connector 를 여러개 두면 된다. 관련된 예제는 ref. 2 에서 확인할 수 있다.
webapp
webapp 밑에 여러개의 application .war 을 두게 되는데, 이 webapp 폴더를 각 host 마다 한개 씩 갖게 해준다.server.xml
<Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Engine name="Catalina" defaultHost="hello.com"> <Host name="hello.com" appBase="webapps" unpackWARs="true" autoDeploy="true"> </Host> <Host name="hello2.com" appBase="hello2_webapps" unpackWARs="true" autoDeploy="true"> </Host> </Engine> </Service> </Server>
ref. 3 을 참고하자. 참고로 대소문자를 구분하니 주의하자.
host folder
참고로 위와 같이 host 가 생기면, 아래 경로에 각 host 별로 folder 가 생성된다.- <tomcat_path>/conf/Catalina/hello2.com
host 의 Context (context.xml) 나 manager.xml 이 여기에 들어가게 된다.
References
- Understanding Virtual Host Concept in Tomcat | Ramki Java Blog
- tomcat6 - How to run different apps on single Tomcat instance behind different ports? - Stack Overflow
- Apache Tomcat 7 (7.0.62) - Virtual Hosting and Tomcat
- WARNING: Unknown default host [localhost] for connector [Connector[HTTP/1.1-8080]] [Solved] (Tomcat forum at JavaRanch)
댓글 없음:
댓글 쓰기