Sun ONE logo      이전      목차      색인      다음     

Sun ONE Web Server 6.1 관리자 설명서

8 장
서버 기본설정 구성

이 장에서는 Sun ONE Web Server용 서버 기본 설정을 구성하는 방법에 대하여 설명합니다.

이 장의 내용:


서버 시작 및 정지

서버는 설치된 후 지속적으로 실행되어 HTTP 요청을 청취하고 허용합니다.

서버의 상태는 Server On/Off 페이지에 표시됩니다. 다음 중 한 가지 방법으로 서버를 시작 및 정지시킬 수 있습니다.

서버를 종료하면 서버가 종료 과정을 완료하고 상태를 "Off"로 변경하는 데 약간의 시간이 걸릴 수 있습니다.

컴퓨터가 중단되거나 오프라인이 되는 경우에는 서버가 중단되며 서비스하는 모든 요청을 잃게 됩니다.


참고

서버에 보안 모듈이 설치된 경우 서버를 시작 또는 중지하기 전에 적절한 비밀번호를 입력해야 합니다.



참고

UNIX의 경우 Sun ONE Web Server 설치에 따라 운영 체제에서 기본적으로 허용하는 것보다 많은 메모리 및 파일 기술자가 필요한 경우가 있습니다. 서버를 시작할 수 없는 경우에는 ulimit 명령을 사용하여 운영 체제가 적용한 리소스 한계를 확인합니다. 운영 체제의 ulimit man 페이지에 더 자세한 정보가 제공될 것입니다.


종료 시간 제한 설정

서버가 정지되면 새 연결을 받지 않습니다. 또한 기존 연결이 완료되도록 대기합니다. 제한 시간까지 서버가 대기하는 시간은 magnus.conf 파일에서 구성할 수 있으며, 이 파일은 server_root/https-server_name/config/에 있습니다. 기본값은 30초입니다. 이 값을 변경하려면 magnus.conf에 다음과 같은 줄을 추가합니다.

여기에서 seconds는 서버가 시간 제한 동안 대기하는 초 단위 시간입니다.

이 값을 구성하면 서버가 연결이 완료될 때까지 더 긴 시간 동안 대기하는 장점이 있습니다. 그러나 때로 서버에는 응답하지 않는 클라이언트의 연결이 있으므로 종료 시간 제한을 크게 하면 서버가 종료되는 시간이 더 오래 걸릴 수 있습니다.

서버 재시작(UNIX/Linux)

다음 중 한 가지 방법으로 서버를 재시작할 수 있습니다.

설치 스크립트는 /etc/rc.local 또는 /etc/inittab 파일을 편집할 수 없으므로 반드시 텍스트 편집기에서 이 파일을 편집해야 합니다. 이 파일의 편집 방법을 모르는 경우에는 시스템 관리자에게 문의하거나 시스템 설명서를 참조하십시오.

보통 SSL을 사용하는 서버의 경우 시작하기 전에 비밀번호가 필요하므로 이 파일을 사용하여 시작할 수 없습니다. 암호를 일반 텍스트 파일에 저장하여 SSL을 사용하는 서버를 자동으로 시작할 수는 있으나, 이는 권장하지 않습니다.


주의

SSL을 사용하는 서버의 비밀 번호를 서버 시작 스크립트의 보통 텍스트에 보관하면 보안의 위험이 커집니다. 파일에 액세스할 수 있는 사용자는 모두 SSL을 사용하는 서버의 암호를 알 수 있습니다. SSL을 사용하는 서버의 비밀 번호를 보통 텍스트에 보관하기 전에 보안의 위험에 대하여 고려해야 합니다.


서버의 시작 스크립트, 키쌍 파일 및 키 비밀번호는 루트가 소유해야 하며(또는 루트가 아닌 서버가 서버를 설치한 경우 해당 사용자 계정) 오직 소유자만이 이에 대한 읽기 및 쓰기 액세스 권한이 부여되어야 합니다.

SSL 사용 서버 자동 시작

보안의 위험을 걱정하지 않는 경우 다음과 같이 SSL을 사용하는 서버를 자동으로 시작할 수 있습니다.

  1. 텍스트 편집기를 사용하여 시작 파일을 엽니다. 이 파일은 server_root/https-server_id에 있습니다.
  2. 스크립트에서 -start 줄을 찾은 후 다음을 삽입합니다.
  3. echo "password"|

    여기에서 password는 선택한 SSL 비밀번호입니다.

    예를 들어 SSL 비밀번호가 netscape인 경우 이 줄은 다음과 같을 것입니다.

    -start)

    echo "netscape"|./$PRODUCT_BIN -d $PRODUCT_SUBDIR/config $@

Inittab을 사용하여 재시작(UNIX/Linux)

inittab을 사용하여 서버를 재시작하려면 다음 줄을
/etc/inittab 파일에 추가합니다.

여기에서 server_root는 서버를 설치한 디렉토리이며 type-identifier는 서버의 디렉토리입니다.

-i 옵션을 사용하면 서버가 자체를 배경 프로세스로 전환할 수 없도록 방지합니다.

서버를 정지하기 전에 반드시 이 줄을 제거해야 합니다.

시스템 RC 스크립트를 사용하여 재시작(UNIX/Linux)

/etc/rc.local 또는 시스템의 해당 파일을 사용하는 경우 /etc/rc.local에 다음을 추가합니다.

server_root를 서버를 설치한 디렉토리로 대체합니다.

서버를 직접 재시작(UNIX/Linux)

명령줄에서 서버를 재시작하려면 서버가 1024보다 낮은 번호의 포트에서 실행되는 경우 root로 로그인하고, 그렇지 않은 경우 root 또는 서버의 사용자 계정으로 로그인합니다. 명령줄 프롬프트에서 다음 줄을 입력하고 Enter를 누릅니다.

여기에서 server_root는 서버를 설치한 디렉토리입니다.

줄의 마지막에 선택 매개 변수인 -i를 사용할 수 있습니다. -i 옵션을 사용하면 서버가 inittab 모드로 실행되므로 서버 프로세스가 중단 또는 정지되는 경우 inittab이 서버를 자동으로 재시작합니다. 또한 이 옵션을 사용하면 서버가 자체를 배경 프로세스로 전환할 수 없도록 방지합니다.


참고

서버가 이미 실행 중인 경우 start 명령은 실패합니다. 반드시 서버를 우선 정지시킨 후 start 명령을 사용해야 합니다. 또한 서버가 시작되지 않는 경우에는 서버를 재시작하기 전에 프로세스를 종료해야 합니다.


서버를 직접 정지(UNIX/Linux)

etc/inittab 파일을 사용하여 서버를 재시작하는 경우 반드시 /etc/inittab에서 서버를 시작하는 줄을 제거하고 서버를 정지하기 전에 kill -1 1을 입력해야 합니다. 그렇지 않으면 서버가 정지된 후 자동으로 재시작하게 됩니다.

서버를 직접 정지하려면 root 또는 서버의 사용자 계정(이 계정으로 서버를 시작한 경우)을 사용하여 로그인 한 후, 명령 줄에서 다음을 입력합니다.

서버 재시작(Windows)

다음과 같이 서버를 재시작할 수 있습니다.

Windows의 경우 다음과 같이 합니다.

  1. 제어판에서 서비스 아이콘을 두 번 누릅니다.
  2. 서비스 목록에서 서버용 서비스를 선택합니다.
  3. 자동을 선택하여 컴퓨터가 시작하거나 재부팅할 때 항상 서버를 시작하도록 합니다.
  4. OK를 누릅니다.

  5. 참고

    또한 서비스 대화 상자를 사용하여 서버가 사용하는 계정을 변경할 수 있습니다. 서버가 사용하는 계정을 변경하는 방법은 "사용자 계정 변경 (UNIX/Linux)" 페이지 98을 참조하십시오.


기본적으로 시작하기 전에 관리자에게 키 데이터베이스 암호를 입력하라는 프롬프트가 웹 서버에 표시됩니다. 무인 작업으로 웹 서버를 재시작하려는 경우에는 암호를 password.conf 파일에 저장해 놓아야 합니다. 시스템이 적절히 보호되어 이 파일과 암호 데이터베이스가 조작되지 않을 경우에만 이 기능을 사용하십시오.

자동 재시작 유틸리티 사용(Windows)

서버가 중단되는 경우 서버는 서버 모니터 유틸리티에 의하여 재시작됩니다. 디버깅 도구가 설치된 시스템의 경우 서버가 중지되면 디버깅 정보가 있는 대화 상자가 표시됩니다. 시간 제한 값을 매우 길게 설정하여 자동 시작 기능을 사용하지 않도록 하면 디버깅 서버 플러그인 API 프로그램(예를 들어 SSAPI 프로그램)에 도움이 됩니다. 또한 레지스트리 편집기를 사용하여 디버깅 대화 상자가 표시되지 않도록 할 수 있습니다.

시간 간격 변경(Windows)

시작과 서버가 자동으로 재시작되는 시간 사이의 간격을 변경하려면 다음과 같이 합니다.

  1. 레지스트리 편집기를 시작합니다.
  2. 서버의 키를 선택합니다. (레지스트리 편집기 창의 왼쪽, HKEY_LOCAL_MACHINE\SOFTWARE\Netscape\Enterprise\6.0에 위치)
  3. 편집 메뉴에서 값 추가를 선택합니다. 키 추가 대화 상자가 표시됩니다.
  4. 값 이름에서 MortalityTimeSecs를 입력합니다.
  5. 데이터 유형 드롭 다운 목록에서 REG_DWORD를 선택합니다.
  6. OK를 누릅니다. DWORD 편집기 대화 상자가 표시됩니다.
  7. 시작과 서버가 자동으로 재시작하는 시간 사이에 경과하는 시간 간격을 입력(초 단위)합니다.
  8. 간격은 이진수, 10진수 또는 16진수 형식으로 입력할 수 있습니다.

  9. 앞의 단계에서 입력하는 값의 숫자 형식(이진수, 10진수 또는 16진수)을 누릅니다.
  10. OK를 누릅니다.
  11. 레지스트리 편집기의 오른쪽 창에 MortalityTimeSecs가 16진수로 표시됩니다.

디버깅 대화 상자 사용 중지(Windows)

시스템 디버깅 설정을 수정한 응용 프로그램(컴파일러 등)을 설치하고 서버가 중지된 경우 시스템이 생성한 응용 프로그램 오류 대화 상자를 확인할 수 있습니다. 서버는 확인을 누를 때까지 재시작되지 않습니다.

서버가 중지되는 경우 표시되는 디버깅 대화 상자를 사용하지 않으려면 다음과 같이 합니다.

  1. 레지스트리 편집기를 시작합니다.
  2. AeDebug 키를 선택합니다. (레지스트리 편집기 창의 왼쪽, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion에 위치)
  3. 창의 오른쪽에서 자동 값을 두 번 누릅니다.
  4. 문자열 편집기 편집기 대화 상자가 표시됩니다.

  5. 값을 1로 변경합니다.


성능을 위한 서버 조정

스레드 한계는 magnus.conf 파일을 편집하거나 Server Manager를 통하여 조정할 수 있습니다.

magnus.conf 파일을 편집하는 경우 RqThrottleMinPerSocket은 최소 값이며 RqThrottle은 최대 값입니다.

최소 한계는 서버가 WaitingThreads 상태에 유지할 목표 스레드의 수입니다. 이 숫자는 단지 목표치입니다. 이 상태의 실제 스레드 수는 이 값보다 약간 많거나 적을 수 있습니다. 기본값은 48입니다. 최대 스레드는 동시에 실행할 수 있는 사용 중인 스레드의 최대 수에 대한 고정된 한계로 성능의 병목이 될 수 있습니다. 기본값은 128입니다.

Server Manager를 사용하는 경우 다음과 같이 합니다.

  1. Preferences 탭으로 이동합니다.
  2. Performance Tuning 링크를 누릅니다.
  3. Maximum simultaneous requests 필드에 원하는 값을 입력합니다.

RqThrottleMinPerSocket 및 RqThrottle 매개 변수에 대한 자세한 내용은 Sun ONE Web Server 6.1 Administrator's Configuration File Reference를 참조하십시오.

이 설정 및 기타 내용의 성능 내용에 대한 자세한 내용은 Sun ONE Web Server 6.1 Performance Tuning, Sizing, and Scaling Guide를 참조하십시오.


magnus.conf 파일 편집

Sun ONE Web Server가 시작되면 server_root/server_id/config 디렉토리의 magnus.conf 파일을 찾아 서버의 작동과 구성에 영향을 미치는 전역 변수 세트를 설정합니다. Sun ONE Web Server는 magnus.conf에 정의된 모든 지시문을 실행합니다. Server Manager의 Magnus Editor를 사용하여 magnus.conf의 설정을 편집할 수 있습니다.

magnus.conf 파일에 대한 자세한 설명과 텍스트 편집기를 사용하여 파일을 편집하는 방법은 Sun ONE Web Server 6.1 Administrator's Configuration File Reference와 Sun ONE Web Server 6.1 NSAPI Programmer's Guide를 참조하십시오.

Magnus Editor에 액세스하려면 다음과 같이 합니다.

  1. Server Manager에 액세스하고 Preferences 탭을 선택합니다.
  2. Magnus Editor 링크를 누릅니다.
  3. 드롭 다운 목록에서 설정을 선택하고 Manage를 누릅니다.
  4. Server Manager에 지정한 설정에 대한 편집기가 표시됩니다.

  5. 원하는 설정을 변경한 다음 OK를 누릅니다.

Settings 페이지에 대한 자세한 내용은 온라인 도움말의 Magnus Editor 페이지를 참조하십시오.


청취 소켓 추가 및 편집

서버가 요청을 처리하려면 청취 소켓을 통하여 요청을 접수한 후 요청을 올바른 가상 서버로 보내야 합니다. Sun ONE Web Server를 설치하는 경우 청취 소켓 한 개(ls1)가 자동으로 만들어집니다. 이 청취 소켓은 IP 주소 0.0.0.0과 설치 도중 HTTP 서버 포트 번호로 지정한 포트 번호(기본 값은 80)를 사용합니다. 기본 청취 소켓은 삭제할 수 없습니다.

Server Manager의 Listen Sockets Table을 사용하여 서버의 청취 소켓 설정을 편집할 수 있습니다. 이 테이블에 액세스하려면 다음과 같이 합니다.

  1. Server Manager에 액세스하고 Preferences 탭을 누릅니다.
  2. Edit Listen Sockets 링크를 누릅니다.
  3. 원하는 사항을 변경한 다음 OK를 누릅니다.


MIME 유형 선택

Mime Types 페이지에서 서버의 MIME 파일을 편집할 수 있습니다.

MIME(Multi-purpose Internet Mail Extension) 유형에 따라 전자우편 시스템이 지원하는 멀티미디어 파일의 유형이 달라집니다. MIME 유형은 또한 예를 들어 CGI 프로그램에 지정할 파일 유형과 같이 특정 서버 파일 유형에 해당하는 파일 확장자를 지정합니다.

각 가상 서버용으로 별도의 MIME 유형을 만들 필요는 없습니다. 대신, 필요한 만큼의 MIME 유형 파일을 만들고 이를 가상 서버에 연결합니다. 서버에는 하나의 MIME 유형 파일인 mime.types가 기본으로 존재하며, 이는 삭제할 수 없습니다. 이 파일은 절대 경로일 수 있습니다.

MIME Types 페이지에 액세스하려면 다음과 같이 합니다.

  1. Server Manager에 액세스하고 Preferences 탭을 누릅니다.
  2. MIME Types 링크를 누릅니다.
  3. 원하는 사항을 변경한 다음 OK를 누릅니다.

자세한 내용은 온라인 도움말의 Mime Settings 페이지와 제 13장, "가상 서버 사용"을 참조하십시오.


액세스 제한

Server Manager의 Restrict Access 페이지를 사용하여 전체 서버 또는 서버의 일부분(디렉토리, 파일, 파일 유형 등)에 대한 액세스를 제어할 수 있습니다. 서버는 입중계 요청을 평가할 때 ACE(Access-control Entries)라고 하는 규칙 계층에 따라 액세스를 결정하며, 그런 후 일치되는 항목을 사용하여 요청의 허가 여부를 결정합니다. 각 ACE는 서버가 계층의 다음 ACE로 계속할 것인지의 여부를 지정합니다. ACD의 컬렉션은 ACL(Access-control List)라고 합니다. 서버로 요청이 들어오면 서버는 vsclass.obj.conf(여기에서 vsclass는 가상 서버 클래스 이름)에서 ACL에 대한 참조를 찾으며, 이는 다시 액세스를 결정하는데 사용됩니다. 기본으로 서버에는 하나의 ACL 파일이 있으며 여기에는 여러 개의 ACL이 있습니다.

Administration Server를 통하여 모든 서버용으로 액세스 제어를 전역적으로 설정하거나 Server Manager를 통하여 특정 서버 인스턴스 내의 리소스용으로 설정할 수 있습니다. 리소스용으로 액세스 제어를 설정하는 방법은 을 참조하십시오.

"액세스 제어 설정" 페이지 188(제 9장, "서버 액세스 제어").


참고

서버 액세스를 제한하기 전에 반드시 분산 서버를 사용하도록 설정해야 합니다.


Sun ONE Web Server에 대한 액세스를 제한하려면 다음과 같이 합니다.

  1. Server Manager에 액세스하고 Preferences 탭을 선택합니다.
  2. Restrict Access 링크를 누릅니다.

자세한 내용은 제 9장, "서버 액세스 제어"와 온라인 도움말의 Restrict Access 페이지를 참조하십시오.


구성 설정 복구

구성 복원 페이지에서 구성 파일의 백업 사본을 확인하고 특정 일자에 저장된 구성 데이터로 되돌릴 수 있습니다.


참고

Windows의 경우 이 페이지에서 오직 구성 파일에 직접 적용한 변경 사항만 복원됩니다. 설치 동안 만들어진 백업 버전으로는 되돌리면 안 됩니다. 이 버전은 완전하지 않을 수 있습니다.


자세한 내용은 온라인 도움말의 Restore Configuration 페이지를 참조하십시오.


파일 캐시 구성

Sun ONE Web Server는 파일 캐시를 사용하여 정적 정보를 더욱 빨리 서비스합니다. 이전 버전의 서버에서는 요청을 파일 캐시로 라우팅하는 가속기 캐시가 있었으나, 가속기 캐시는 더 이상 사용되지 않습니다. 파일 캐시에는 파일에 대한 내용과 정적 파일 컨텐츠가 포함됩니다. 또한 파일 캐시는 서버가 파싱한 HTML의 처리를 빠르게 하는데 사용되는 정보를 캐시합니다.

기본적으로 파일 캐시는 사용하도록 설정됩니다. 파일 캐시 설정은 nsfc.conf라는 파일에 들어 있습니다. Server Manager를 사용하여 파일 캐시 설정을 변경할 수 있습니다.

더 자세한 내용은 http://docs.sun.com/의 Performance Tuning and Sizing Guide를 참조하십시오.


스레드 풀 추가 및 사용

스레드 풀을 사용하여 일정한 수의 스레드를 특정 서비스에 할당할 수 있습니다.

스레드 풀의 다른 용도는 스레드를 사용할 수 없는 플러그인을 실행하는 것입니다. 최대 스레드 수를 1로 설정하여 풀을 지정하면 지정된 서비스 기능에 오직 하나의 요청만 허용됩니다.

스레드 풀을 추가하면 지정한 정보에 스레드의 최소 및 최대 수, 스택 크기 및 큐 크기가 포함됩니다.

더 자세한 내용은 http://docs.sun.com/의 Performance Tuning and Sizing Guide를 참조하십시오.

원시 스레드 풀 및 일반 스레드 풀 (Windows)

Windows의 경우 원시 스레드 풀(NativePool)과 추가의 일반 스레드 풀 등 두 가지 스레드 풀을 사용할 수 있습니다.

원시 스레드 풀을 편집하려면 Server Manager의 Native Thread Pool 페이지에 액세스합니다.

원하는 용도만큼 원하는 수의 일반 스레드 풀을 만들 수 있습니다. 일반 스레드 풀을 만들려면 Server Manager의 Generic Thread Pools 페이지에 액세스합니다.

스레드 풀(UNIX/Linux)

UNIX/Linux의 스레드는 항상 운영 체제가 스케줄하므로 (사용자 스케줄과 반대) UNIX/Linux 사용자는 NativePool을 사용할 필요가 없으며 이 설정을 편집하는 Server Manager 페이지가 없습니다. 그러나 UNIX/Linux 사용자는 계속 스레드 풀을 만들 수 있습니다. 스레드 풀을 만들려면 Server Manager의 Thread Pools 페이지에 액세스합니다.

스레드 풀 편집

일단 스레드 풀을 추가하면 Server Manager를 통하여 스레드 풀 설정 값(최소 스레드, 최대 스레드 등)을 편집할 수 있습니다.

또한 vsclass.obj.conf에 있는 스레드 풀 설정을 편집할 수 있는데, 여기에서 vsclass는 가상 서버 클래스 이름입니다.

vsclass.obj.conf에 표시되는 스레드 풀은 다음과 같습니다.

폴을 변경하려면 다음 매개 변수를 사용합니다. MinThreads, MaxThreads, QueueSize 및 StackSize.

Windows 사용자는 Server Manager를 사용하여 언제라도 원시 풀용 설정을 편집할 수 있습니다.

스레드 풀 사용

스레드 풀을 설정한 후 스레드 풀을 특정 서비스용으로 지정하여 사용합니다.

스레드 풀을 구성하려면 Server Manager 탭으로 이동하고 Thread Pool을 선택합니다.스레드 풀이 구성되었으면 지정한 특정 서비스용으로 사용할 수 있는 스레드 풀이 Thread Pool 목록에 표시됩니다.

또한 vsclass.obj.conf에 있는 load-modules 함수의 pool 매개 변수를 사용하여 스레드 풀을 지정할 수 있습니다. 여기에서 vsclass는 가상 서버 클래스 이름입니다.

또한 임의의 NSAPI 함수에서 pool 매개 변수를 사용하여 오직 해당 NSAPI 기능만 지정한 풀에서 실행되도록 할 수 있습니다.



이전      목차      색인      다음     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.