가상 서버를 사용하면 설치된 단일 서버에서 회사 또는 개별 도메인 이름, IP 주소 및 일부 서버 모니터링 기능을 제공할 수 있습니다. 하드웨어와 기본적인 웹 서버 유지 관리가 제공될 뿐이지만 사용자는 거의 자신의 전용 웹 서버를 가지고 있는 것과 같습니다.
모든 가상 서버에는 HTTP Listener가 지정되어 있습니다. 새 요청이 들어오면 서버는 구성된 HTTP Listener를 기준으로 요청을 보낼 가상 서버를 결정합니다.
Sun Java System Web Server의 서버 인스턴스에 지정할 수 있는 보안 및 비보안 HTTP Listener의 수에는 제한이 없습니다. IP 주소 기반 및 URL 호스트 기반 가상 서버를 모두 사용할 수 있습니다.
모든 가상 서버는 자체 ACL 목록, 자체 mime.types 파일, 자체 Java Web Applications 세트를 가질 수 있습니다(반드시 그렇지는 않음).
이러한 설계의 경우 다양한 응용 프로그램에 대해 서버를 구성할 수 있도록 유연성을 최대한으로 제공합니다. 다음 예에서는 Sun Java System Web Server에서 사용할 수 있는 몇 가지 구성에 대해 설명합니다.
Sun Java System Web Server를 새로 설치하면 서버 인스턴스가 하나 생깁니다. 이 서버 인스턴스에는 포트 80(또는 설치할 때 선택한 포트)에서 컴퓨터가 구성된 모든 IP 주소를 수신하는 HTTP Listener 이더넷이 하나만 있습니다.
로컬 네트워크에는 컴퓨터가 구성된 각 주소에 대해 이름과 주소 매핑을 설정하는 몇 가지 기법이 있습니다. 다음 예의 컴퓨터에는 주소 127.0.0.1의 루프백 인터페이스(네트워크 카드가 없어도 존재하는 인터페이스)와 주소 10.0.0.1의 이더넷 인터페이스가 있습니다.
example.com이라는 이름이 DNS를 통해 10.0.0.1에 매핑됩니다. 수신 소켓은 시스템이 구성된 모든 주소를 포트 80에서 수신하도록 구성됩니다("ANY:80" 또는 "0.0.0.0:80").
이 구성에서는 다음에 대한 연결이 서버에 도달하며 가상 서버 VS1에 의해 서비스됩니다.
http://127.0.0.1/(example.com에서 시작)
http://localhost/(example.com에서 시작)
http://example.com/
http://10.0.0.1/
기존 웹 서버를 사용하는 경우 이 구성을 사용합니다. 추가 가상 서버나 HTTP Listener를 추가할 필요는 없습니다.
서버의 SSL 구성을 참조하십시오.
더 복잡한 Sun Java System Web Server 구성에서는 서버가 인트라넷 배포에 사용할 가상 서버 몇 개를 더 호스팅합니다. 예를 들어 직원들이 다른 사용자의 전화 번호를 조회하고, 구내 지도를 보고, 정보 협력 부서에 대한 요청 상태를 추적할 수 있는 3개의 내부 사이트가 있습니다. 이 예의 앞부분에서 이러한 사이트는 phone.example.com, maps.example.com 및 is.example.com이 매핑된 3개의 다른 컴퓨터에서 호스팅되었습니다.
하드웨어 및 관리 오버헤드를 최소화하기 위해 시스템 example.com에 있는 웹 서버 하나에 3개 사이트 모두를 통합할 수 있습니다. URL 호스트 기반 가상 서버 사용 또는 별도의 HTTP Listener를 사용하는 두 가지 방법을 사용하여 이러한 통합을 설정할 수 있습니다. 두 가지 방법에는 각각 장단점이 있습니다.
URL 호스트 기반 가상 서버를 사용한 인트라넷 호스팅
URL 호스트 기반 가상 서버는 설정하기 쉽지만 다음과 같은 단점이 있습니다.
이 구성에서 SSL을 지원하려면 와일드카드 인증서를 사용하는 비표준 설정이 필요합니다.
URL 호스트 기반 가상 서버는 기존 HTTP 클라이언트에서 작동하지 않습니다.
주소별로 한 개의 HTTP Listener를 사용하여 IP 주소 기반 구성을 설정할 수도 있습니다.
별도의 HTTP Listener를 사용한 인트라넷 호스팅
IP 주소 기반 가상 서버를 사용하는 경우의 장점은 다음과 같습니다.
HTTP/1.1 Host 헤더를 지원하지 않는 이전 클라이언트에서 작동합니다.
SSL 지원 제공이 간단합니다.
다음과 같은 단점이 있습니다.
호스트 컴퓨터의 구성을 변경해야 합니다(실제 또는 가상 네트워크 인터페이스 구성).
수천 개의 가상 서버가 있는 구성으로 확장되지 않습니다.
두 가지 구성을 위해서는 3개의 이름에 대해 이름 대 주소 매핑을 설정해야 합니다. IP주소 기반 구성에서 각 이름은 서로 다른 주소에 매핑됩니다. 호스트 시스템이 이러한 모든 주소에서 연결을 수신하도록 설정해야 합니다. URL 호스트 기반 구성에서 모든 이름은 시스템이 원래 가졌던 동일한 주소에 매핑될 수 있습니다.
HTTP Listener가 여러 개인 구성에서는 서버가 요청이 들어온 주소를 찾을 필요가 없기 때문에 최소한의 성능 향상이 있을 수 있습니다. 그러나 여러 개의 HTTP Listener를 사용하면 추가 억셉터 스레드 때문에 추가 오버헤드(메모리 및 일정 계획)가 발생하기도 합니다.
대량 호스팅은 트래픽이 낮은 여러 가상 서버를 사용하는 구성입니다. 예를 들어 트래픽이 낮은 여러 개의 개인 홈 페이지를 호스팅하는 ISP가 이 범주에 속합니다.
가상 서버는 일반적으로 URL 호스트 기반입니다. 예를 들어 정적 내용만을 허용하는 구성 하나와 정적 내용 및 CGI를 허용하는 구성 하나가 있을 수 있습니다.
가상 서버를 만들어야 하는 구성을 작성/확인해야 합니다.
HTTP Listener를 작성/확인해야 합니다.
새 가상 서버의 호스트를 확인해야 합니다.
가상 서버를 추가해야 하는 구성을 선택합니다. 구성 탭에 표시된 구성 목록에서 구성을 선택할 수 있습니다.
가상 서버 탭 > 새로 만들기 버튼을 누릅니다.
그러면 가상 서버 구성 프로세스를 안내하는 팝업 마법사 페이지가 나타납니다. 마법사 페이지에서 다음 작업을 수행합니다.
마법사 요약 페이지가 표시됩니다. 구성을 변경하려면 이전을 눌러 이전 페이지로 돌아갑니다. 마침을 눌러 새 가상 서버 구성 프로세스를 완료합니다.
결과페이지가 표시됩니다. 오류가 발생하면 마법사에서 이전 페이지로 돌아가 가상 서버를 다시 구성합니다.
CLI 사용
CLI를 통해 가상 서버를 추가하려면 다음 명령을 실행합니다.
wadm> create-virtual-server --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --document-root=../docs config1_vs_1 |
CLI 참조 create-virtual-server(1)를 참조하십시오.
가상 서버의 일반 설정을 구성하려면 다음 작업을 수행합니다.
구성을 선택합니다.
구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 사용 가능한 구성 목록을 가져옵니다.
가상 서버를 선택합니다.
가상 서버 목록에서 가상 서버를 선택합니다. 가상 서버 탭을 눌러 선택한 구성에 사용할 수 있는 가상 서버를 가져옵니다.
일반 탭을 누릅니다. 다음 설정을 구성합니다.
사용 가능— 런타임에 가상 서버를 사용할 수 있는지 여부를 지정합니다.
문서 루트— 가상 서버의 문서 루트 경로이며 가상 서버의 데이터가 저장됩니다. 여기에는 탐색된 웹 응용 프로그램 디렉토리와 로그 파일이 포함됩니다.
호스트 — 둘 이상의 URL 호스트를 쉼표로 구분하여 입력할 수 있습니다.
가상 서버를 복제하려면 다음 작업을 수행합니다.
구성을 선택합니다.
구성 목록에서 구성을 선택합니다. 구성 탭을 눌러 사용 가능한 구성 목록을 가져옵니다.
가상 서버를 선택합니다.
가상 서버 목록에서 가상 서버를 선택합니다. 가상 서버 탭을 눌러 선택한 구성에 사용할 수 있는 가상 서버를 가져옵니다.
복사 버튼을 누릅니다.
새 가상 서버에 이름을 지정합니다.
CLI 사용
CLI를 통해 가상 서버를 복제하려면 다음 명령을 실행합니다.
wadm> copy-virtual-server --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --vs=config1_vs_1 copiedVs |
copiedVS는 새 가상 서버의 이름입니다.
CLI 참조 copy-virtual-server(1)를 참조하십시오.
서버는 구성된 가상 서버로 요청을 전달하기 전에 HTTP Listener를 통해 HTTP 요청을 수락합니다. 이 페이지에서는 HTTP Listener를 추가하고 구성할 수 있습니다.
HTTP Listener는 포트 번호 및 IP 주소의 고유한 조합이어야 합니다. IPV4 또는 IPV6 주소를 사용할 수 있습니다. IP 주소를 "*"로 설정하면 해당 포트에서 모든 IP 주소를 수신하는 HTTP Listener를 만듭니다.
다음 단계를 실행하면 가상 서버의 새 HTTP Listener를 만들어 들어오는 HTTP 요청을 처리할 수 있습니다.
구성 탭 아래에 있는 가상 서버 탭을 누릅니다.
HTTP Listener 하위 탭을 눌러 구성된 HTTP Listener 목록을 봅니다.
새로 만들기 버튼을 눌러 새 HTTP Listener를 만들 마법사 페이지를 엽니다.
마법사 페이지에서 다음 정보를 입력합니다.
이름 — 새 HTTP Listener의 이름입니다.
포트 — HTTP Listener가 들어오는 HTTP 요청을 바인드하고 수신하는 포트입니다.
IP 주소 — 유효한 IPv4 또는 IPv6 주소입니다. "*"는 HTTP Listener가 구성된 포트에 대해 지정된 모든 IP 주소를 수신하는 것을 의미합니다.
서버 이름 — 서버 이름을 입력합니다(예: sales.mycomp.com).
기본 가상 서버 — 드롭다운 목록에서 가상 서버를 선택합니다. 이 작업은 선택한 가상 서버에 새 HTTP Listener를 연결합니다.
설명(선택 사항) — HTTP Listener에 대한 짧은 설명을 입력합니다.
CLI 사용
CLI를 통해 HTTP Listener를 만들려면 다음 명령을 실행합니다.
wadm> create-http-listener --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --listener-port=18003 --config=config1 --server-name=config1.com --default-virtual-server-name=config1_vs_1 config1_ls_1 |
CLI 참조 create-http-listener(1)를 참조하십시오.
다음 작업을 수행하여 기존 HTTP Listener 설정을 편집할 수 있습니다.
가상 서버 탭을 눌러 기존 HTTP Listener 설정을 편집니다.
HTTP Listener 하위 탭을 눌러 구성된 HTTP Listener의 목록을 봅니다.
Listener 이름 테이블 열에서 설정을 편집할 HTTP Listener를 누릅니다.
HTTP Listener의 일반 설정 및 보안 관련 설정을 모두 편집할 수 있습니다.
일반 탭을 눌러 기본 및 고급 HTTP Listener 설정을 편집합니다. 다음 옵션을 구성합니다.
이름 — 새 HTTP Listener의 이름입니다.
포트 — HTTP Listener가 들어오는 HTTP 요청을 바인드하고 수신하는 포트입니다.
IP 주소 — 유효한 IPv4 또는 IPv6 주소입니다. "*"는 HTTP Listener가 구성된 포트에 대해 지정된 모든 IP 주소를 수신하는 것을 의미합니다.
서버 이름 — 서버 이름을 입력합니다(예: sales.mycomp.com).
HTTP Listener 고급 설정을 편집하려면 고급 섹션 아래에서 고급 설정 구성 옵션을 선택합니다. 다음 옵션을 구성합니다.
억셉터 스레드 — 이 수신기에서 받은 연결을 전담하여 수락하는 스레드의 수입니다. 사용 가능한 값은 1 - 128입니다.
프로토콜 패밀리 — 수신기에서 사용되는 프로토콜입니다. 이 값을 수정하지 마십시오. 기본값은 HTTP입니다.
수신 대기열 크기 — 운영 체제 수신 대기열 백로그의 최대 크기입니다.
수신 버퍼 크기 — 운영 체제 소켓 수신 버퍼의 크기(바이트)입니다.
전송 버퍼 크기 — 운영 체제 소켓 전송 버퍼의 크기(바이트)입니다.
I/O 차단 — HTTP 수신기 소켓이 차단 모드인지 확인합니다. 기본적으로 사용 안 함으로 설정됩니다.