티스토리 뷰

728x90
반응형

보통 웹 서브시스템안에 있는 이 용어들에 대해서는 신경을 쓰지 않는다. 왜냐하면 보통 쓸일이 없기 때문이다. 이 블로그는 언제 이 옵션(어트리뷰트)들이 필요한지에 대해 이야기 해보겠다.


"virtual-server".... 이 용어는 마치 어디에선가 들어본듯한 느낌이 든다. 그렇다. 바로 아파치 설정 할때 기본적으로 하던 "VirtualHost"와 매우 비슷하게 생겼다. 그런데 그 사용 용도도 매우 비슷합니다. 그래서 이 2개를 비교하면서 설명하겠다.


가상호스트(Virtual Host)는 한 컴퓨터에서 여러웹사이트를(예를 들어, www.company1.com과 www.company2.com)을 서비스함을 뜻한다.(From http://httpd.apache.org/docs/current/en/vhosts/index.html)

이것은 여러가지 방법을 통하여 여러개의 호스트 이름이 같은 포트를 공유하여 사용할수 있음을 의미한다.


이런 맥락에서, virtual-server는 같은 컨텍스트 루트를 여러 어플리케이션에서 공유한다는 점이 같다. 기본적으로 같은 컨텍스트 루트를 사용하는 어플리케이션은 하나의 WAS에 배포할수가 없다. 그러나 가끔 이런 경우가 필요할 때가 있다. 왜냐하면 단순히 같은 컨텍스트 루트를 사용하기 위해 어플리케이션 서버를 하나 더 만드는 것은 매우 비용이 크기 때문이다. 따라서 JBoss는 "virtual-server" 옵션을 제공해줌으로써 이 문제를 해결해 준다.

이것은 "\" root-context를 사용하는 어플리케이션들을 하나의 JBoss 인스턴스에 배포하는 샘플이다.

Test Flow :     

  브라우저

실제 호출되는 위치

  ts1.webserver1.org/index.jsp

 App1/index.jsp

 ts1.webserver2.org/index.jsp

 App2/index.jsp


Configuration * App1.war(jboss-web.xml)

 <jboss-web>
    <context-root>/</context-root>
    <virtual-host>webserver1</virtual-host>
</jboss-web>


*App2.war(jboss-web.xml)

 <jboss-web>
    <context-root>/</context-root>
    <virtual-host>webserver2</virtual-host>
</jboss-web>


*standalone.xml

...

<subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="webserver1" instance-id="ts4" native="false">
            <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
            <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
            <virtual-server name="webserver1" enable-welcome-root="false" default-web-module="App1.war">
                <alias name="localhost"/>
                <alias name="ts1.webserver1.org"/>
            </virtual-server>
            <virtual-server name="webserver2" enable-welcome-root="false" default-web-module="App2.war">
                <alias name="localhost"/>
                <alias name="ts1.webserver2.org"/>
            </virtual-server>
        </subsystem>

... 


참고로)

처음에 말했듯이, 이 옵션은 아파치의 VirtualHost와 매우 비슷하다. 다음의 Virtual Host 샘플을 보면 어떤 점이 비슷한지 알 수 있다.

<VirtualHost *:80>
    ServerName ts1.webserver1.org
    DocumentRoot /home/jooho/Applications/EWS/jboss-ews-2.0/docs/test1
</VirtualHost>

<VirtualHost *:80>
   ServerName ts1.webserver2.org
   DocumentRoot /home/jooho/Applications/EWS/jboss-ews-2.0/docs/test2
</VirtualHost> 



반응형
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함