WebtoB 에서는 하나의 Node 에서 여러 개의 Domain name 혹은 Port를 지원하기 위하여 Apache의 <Virtualhost> 절을 WebtoB의 vhost절을 이용하여 동일하게 구성할 수 있습니다.
가상 호스트는 현재 HTTP 1.1을 지원하는 브라우저에서 적용할 수 있는 Web Server의 기능으로 하나의 Web Server를 이용하여 마치 여러 대의 Web Server가 운영되고 있는 것과 동일한 효과를 낼 수 있도록 하는 것입니다.. WebtoB에서는 이 가상 호스팅 기능을 제공합니다.
웹 상에서 새로운 서비스를 시작하고, 그 서비스는 인터넷 신문사인 “WebtoB Times” 라고 가정해 볼 때. 이 서비스를 하나의 IP 주소와 도메인 이름, 그리고 한대의 Web Server를 이용해서 운영할 수도 있습니다. 그러나, 당신은 하나의 IP를 사용하면서도 몇 개의 도메인 이름으로 분리하여 서비스를 제공한다면 이용자도 알기 쉽고 관리 및 차후 확장에도 용이할 것이라는 판단 하에 다음과 같은 몇 개의 서비스로 분리하고자 합니다.
webtobtimes.com: 메인 페이지
society.webtobtimes.com: 사회면 기사를 다루는 섹션
sports.webtobtimes.com: 스포츠 기사를 다루는 섹션
위와 같이 분리하여 HTML문서도 만들고 기타 서비스도 제공합니다. (실제로 많은 대형 사이트를 방문해 보면 위와 같은 구성으로 되어 있음을 확인할 수 있습니다. )
Web Server에서는 위와 같은 설정을 적용하기 위해 두 개의 Virtual Host를 할당하여 각각 society와 sports에 적용해 주면 됩니다. 이렇게 하면 이들 서비스는 메인 페이지와는 다른 Web Server에서 운영되는 것과 같은 효과를 줄 수 있으며, 실제 Web Server 내에서도 document 문서의 경로 및 기타 모든 설정들을 분리하여 사용할 수 있습니다. 이렇게 도메인 이름을 분리하여 하나의 IP 로 서비스 하는 방식을 Name Based Virtual Host라 합니다.
이와 구별되는 방식으로는 IP Address Based Virtual Host가 있는데 이 방식은 다른 IP를 사용하므로 사실상 별개의 도메인이라 할 수 있어, 그 설정에 있어서도 다른 IP만 사용하면 되고 또 크게 쓰이지 않는 방식입니다. (왜냐하면 한 사이트가 다량의 IP를 확보하기는 힘들기 때문이다. )
가상 호스트의 구조를 그림으로 나타내어 보면 다음과 같습니다.
[그림1.]vhost 구조
위와 같이 하나의 IP와 한대의 Web Server를 이용해 각 도메인의 서비스를 할 수 있으며, 동일 IP에 다른 이름으로 호출된 서비스를 WebtoB의 가상 호스트가 구분하여 서비스하게 됩니다.
아래의 예는 위의 Web Times란 가상의 사이트를 바탕으로 구축한 가상 호스트의 예제이다.
*VHOST
vhost1 DOCROOT = "/usr/local/webtob/docs/vhost1_docs",
NODENAME = webtob1,HOSTNAME = "society.webtobtimes.com",PORT = "8080",
UsrLogDir = “/usr/local/webtob/vhost1/log/usrlog",
IconDir = “/usr/local/webtob/vhost1/icons",
UserDir = “/usr/local/webtob/vhost1",
EnvFile = vhost1_env,
IndexName = "v1_index1.html",
LOGGING = "v1_log1",
ERRORLOG = "v1_log2"
vhost2 DOCROOT = "/usr/local/webtob/docs/vhost2_docs",
NODENAME = webtob1,HOSTNAME = "sports.webtobtimes.com",PORT = "8080",
UsrLogDir = “/usr/local/webtob/vhost2/log/usrlog”,
IconDir = “/usr/loccal/webtob/vhost2/icons",
UserDir = “/usr/loccal/webtob/vhost2",
EnvFile = vhost2_env,
IndexName = "v2_index.html",
LOGGING = "v2_log1",
ERRORLOG = "v2_log2"
'1. 미들웨어이야기 > 05. 상용미들웨어' 카테고리의 다른 글
WebtoB URI 와 Alias (0) | 2009.06.05 |
---|---|
WebtoB CSR 생성 (0) | 2009.06.05 |
Apache JEUS 연동 (0) | 2009.06.05 |
WebtoB JEUS 연동 (0) | 2009.06.05 |
JEUS Class Loader (0) | 2009.06.05 |