Sun Java System Application Server Enterprise Edition 8.1 2005Q2 고가용성 관리 설명서

로드 균형 조정을 사용하도록 웹 서버 구성

로드 밸런서 플러그인 설치 프로그램은 웹 서버의 구성 파일을 일부 수정합니다. 변경 사항은 웹 서버에 따라 다릅니다.


주 –

로드 밸런서 플러그인은 Sun Java System Application Server Enterprise Edition과 함께 설치할 수도 있고 지원되는 웹 서버를 실행하는 시스템에 따로 설치할 수도 있습니다. 설치 절차에 대한 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Installation Guide의 1 장, Installing Application Server Software 또는 Sun Java Enterprise System 2005Q5 설치 설명서(Java Enterprise System을 사용할 경우)를 참조하십시오.


Sun Java System Web Server 수정 사항

설치 프로그램은 Sun Java System Web Server의 구성 파일에 다음 항목을 추가합니다.

웹 서버 instance’s magnus.conf 파일에 다음이 추가됩니다.

##EE lb-pluginInit 
fn="load-modules"
shlib="web_server_install_dir/plugins/lbplugin/bin/libpassthrough.so" 
funcs="init-passthrough,service-passthrough,name-trans-passthrough" Thread="no"
Init fn="init-passthrough"
##end addition for EE lb-plugin

server instance’s obj.conf 파일에 다음이 추가됩니다.

<Object name=default>
NameTrans fn="name-trans-passthrough" name="lbplugin" 
config-file="web_server_install_dir/web_server_instance/config/loadbalancer.xml"
<Object name="lbplugin">
  ObjectType fn="force-type" type="magnus-internal/lbplugin"
  PathCheck fn="deny-existence" path="*/WEB-INF/*"
  Service type="magnus-internal/lbplugin" 
  fn="service-passthrough"
  Error reason="Bad Gateway" 
  fn="send-error" 
  uri="$docroot/badgateway.html"
</object>

위의 코드에서 lbpluginObject를 고유하게 식별하는 이름이고 web_server_install_dir/web_server_instance/config/loadbalancer.xml은 로드 밸런서가 실행되도록 구성된 가상 서버에 대한 XML 구성 파일의 위치입니다.

설치 후에 HTTP 로드 균형 조정 설정의 설명대로 로드 밸런서를 구성합니다.

Apache Web Server 사용

Apache Web Server를 사용하려면 로드 밸런서 플러그인을 설치하기 전에 특정 구성 단계를 수행해야 합니다. 로드 밸런서 플러그인을 설치하면 Apache Web Server가 다음과 같이 추가로 수정됩니다. 플러그인 설치 후에 추가 구성 단계를 수행해야 합니다.


주 –

Apache 1.3의 경우 여러 Apache 하위 프로세스를 실행할 경우 프로세스마다 고유한 로드 균형 조정 라운드 로빈 시퀀스가 있습니다. 예를 들어, 두 개의 Apache 하위 프로세스가 실행 중이고 로드 밸런서 플러그인이 두 개의 Application Server 인스턴스에 대해 로드 균형 조정을 할 경우 첫 번째 요청과 두 번째 요청은 인스턴스 #1로 보내며 세 번째 요청과 네 번째 요청은 인스턴스 #2로 보냅니다. 이 패턴은 instance1, instance1, instance2, instance2 등으로 반복되며 예상되는 동작, 즉 instance1, instance2, instance1, instance2 등의 패턴과는 다릅니다. Sun Java System Application Server에서 Apache용 로드 밸런서 플러그인은 각 Apache 프로세스에 대해 로드 밸런서 인스턴스를 인스턴스화하여 독립적인 로드 균형 조정 시퀀스를 만듭니다.

--with-mpm=worker 옵션을 사용하여 컴파일할 경우 Apache 2.0에는 멀티스레드된 동작이 발생합니다.


Apache Web Server 사용 요구 사항

Apache Web Server의 경우 Apache 버전에 따라 설치된 프로그램은 다음의 최소 요구 사항을 만족해야 합니다.

Apache 1.3 요구 사항

Apache 1.3을 사용할 경우 로드 밸런서 플러그인에는 다음이 필요합니다.


주 –

gcc 이외의 다른 C 컴파일러를 사용하려면 C 컴파일러의 경로를 설정하고 PATH 환경 변수에서 유틸리티를 작성합니다. 예를 들어, sh 쉘을 사용할 경우에는 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:appserver_installdir/lib를 사용합니다.


Apache 2의 최소 요구 사항

Apache 2.0을 사용할 경우 로드 밸런서 플러그인에는 다음이 필요합니다.

소프트웨어 소스는 http://www.sunfreeware.com에서 구할 수 있습니다.

Apache를 컴파일하기 전에 다음을 수행합니다.


주 –

gcc 이외의 다른 C 컴파일러를 사용하려면 C 컴파일러의 경로를 설정하고 PATH 환경 변수에서 유틸리티를 작성합니다. 예를 들어, sh 쉘을 사용할 경우에는 export LD_LIBRARY_PATH= app_server_install_dir/lib:$LD_LIBRARY_PATH를 사용합니다.


로드 밸런서 플러그인을 설치하기 전 구성

Apache용 로드 밸런서 플러그인을 설치하기 전에 Apache Web Server를 설치합니다. SSL과 함께 실행하려면 Apache 소스를 컴파일하고 빌드해야 합니다. 이 절에서는 로드 밸런서 플러그인을 실행할 수 있도록 Apache Web Server를 성공적으로 컴파일하는 데 필요한 최소 요구 사항 및 고급 단계를 설명합니다. 이러한 요구 사항 및 단계는 Solaris 및 Linux 버전의 소프트웨어에만 적용됩니다. Windows 버전의 Apache에 대한 자세한 내용은 Apache 웹 사이트를 참조하십시오.

ProcedureSSL 인식 Apache 설치

시작하기 전에

이미 Apache 소프트웨어를 다운로드하고 압축을 풀어놓은 상태여야 합니다.

  1. OpenSSL 소스를 다운로드하고 압축을 풉니다.

  2. OpenSSL을 컴파일하고 빌드합니다.

    OpenSSL 0.9.7.e가 설치된 경우 Lunux 플랫폼에서는 이 단계가 필요하지 않습니다.

    다음 명령을 입력합니다.


    cd openssl-0.9.7e
    make
    make install

    OpenSSL에 대한 자세한 내용은 http://www.openssl.org/를 참조하십시오.

  3. Apache 버전에 따라 다음 절차 중 하나를 수행하십시오.

    • Apache 1.3에서 다음 단계를 수행하여 mod_ssl을 사용하여 Apache를 구성합니다.

      1. mod_ssl 소스의 압축을 풉니다.

      2. cd mod_ssl-2.8.14–1.3.x

      3. ./configure –with-apache=../apache_1.3. x --with-ssl=../openssl-0.9.7e --prefix=install_path --enable-module=ssl --enable-shared=ssl --enable-rule=SHARED_CORE --enable-module=so

      위의 명령에서 x는 Apache 버전 번호이고 install_path는 Apache를 설치할 디렉토리입니다.

      mod_ssl에 대한 자세한 내용은 http://www.modssl.org를 참조하십시오.

    • Apache 2.0에 대해 소스 트리를 구성합니다.

      1. cd http-2.0_ x

      2. ./configure --with-ssl= open_ssl_install_path --prefix= install_path --enable-ssl --enable-so를 실행합니다.

        위의 명령에서 x는 Apache 버전 번호이고 open_ssl_install_path는 OpenSSL이 설치된 디렉토리이고 install_path는 Apache를 설치할 디렉토리입니다.

  4. Linux 2.1의 Apache에서 컴파일하기 전에

    1. src/MakeFile 파일을 열고 자동으로 생성된 절의 종료 부분을 찾습니다.

    2. 자동으로 생성된 절의 첫 번째 네 줄 이후에 다음 줄을 추가합니다.

      LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c 
      -lsupport -lnsprwrap -lns-httpd40
      LDFLAGS+= -L/appserver_installdir/lib -L/opt/sun/private/lib

      -L/opt/sun/private/lib는 Application Server를 Java Enterprise System 설치의 일부로 설치한 경우에만 필요합니다.

      예를 들면 다음과 같습니다.

      ##(자동으로 생성된 섹션의 끝)
      ## 
      CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
      LIBS=$(EXTRA_LIBS) $(LIBS1)
      INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
      LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
      "LIBS+= -licuuc -licui18n -lnspr4 -lpthread 
      -lxerces-c -lsupport -lnsprwrap -lns-httpd40
      LDFLAGS+= -L/appserver_installdir /lib -L/opt/sun/private/lib
    3. 환경 변수 LD_LIBRARY_PATH를 설정합니다.

      모든 설치에서 이 환경 변수를 다음으로 설정합니다. appserver_install_dir/lib

      Java Enterprise System 설치에서는 이 환경 변수를 appserver_install_dir/lib:opt/sun/private/lib로 설정합니다.

  5. Apache를 사용 중인 버전 설치 지침에 따라 컴파일합니다.

    자세한 내용은 http://httpd.apache.org/를 참조하십시오.

    일반적으로 단계는 다음과 같습니다.

    1. make

    2. make certificate(Apache 1.3용)

    3. make install

      make certificate 명령은 보안 비밀번호를 요청합니다. Apache를 안전하게 시작하려면 암호를 입력해야 하므로 암호를 기억하고 있어야 합니다.

  6. 사용자의 환경에 맞게 Apache를 구성합니다.

Application Server 설치 프로그램에 의한 수정 사항

로드 밸런서 플러그인 설치 프로그램은 웹 서버의 루트 디렉토리의 디렉토리에 필요한 파일의 압축을 풉니다.

웹 서버 인스턴스의 httpd.conf 파일에 다음 항목을 추가합니다.

<VirtualHost machine_name:443>
##Addition for EE lb-plugin
LoadFile /usr/lib/libCstd.so.1
LoadModule apachelbplugin_module libexec/mod_loadbalancer.so
#AddModule mod_apachelbplugin.cpp
<IfModule mod_apachelbplugin.cpp> 
  config-file webserver_instance/conf/loadbalancer.xml
  locale en
</IfModule>
<VirtualHost machine_ip_address>
  DocumentRoot "webserver_instance/htdocs"
  ServerName server_name
</VirtualHost>
##END EE LB Plugin ParametersVersion 7

Procedure로드 밸런서에서 작동하도록 Apache 보안 파일 구성

Apache Web Server가 로드 밸런서 플러그인에서 제대로 작동하려면 올바른 보안 파일이 필요합니다.

  1. apache_install_dir 아래에 sec_db_files라는 디렉토리를 만듭니다.

  2. application_server_domain_dir /config/*.db를 apache_install_dir /sec_db_files로 복사합니다.

  3. 플랫폼에 따라 추가 구성을 수행합니다.

    • Solaris 플랫폼의 경우:

      /usr/lib/mps/secv1 경로를 apache_install_dir/bin/apachectl 스크립트의 LD_LIBRARY_PATH에 추가합니다. 이 경로는 /usr/lib/mps 앞에 추가해야 합니다.

    • Linux의 경우:

      /opt/sun/private/lib 경로를 apache_install_dir/bin/apachectl 스크립트의 LD_LIBRARY_PATH에 추가합니다. 이 경로는 /usr/lib 앞에 추가해야 합니다.

    • Microsoft Windows의 경우:

      1. Path 환경 변수에 새 경로를 추가합니다.

        시작->설정->제어판->시스템->고급->환경 변수->시스템 변수를 누릅니다.

        Path 환경 변수에 application_server_install_dir /bin을 추가합니다.

      2. 환경 변수 NSPR_NATIVE_THREADS_ONLY를 1로 설정합니다.

        환경 변수 창의 시스템 변수에서 새로 만들기를 누릅니다. 변수 이름 NSPR_NATIVE_THREADS_ONLY와 변수 값 1을 입력합니다.

      3. 시스템을 다시 시작합니다.

Microsoft IIS의 수정 사항

로드 밸런서 플러그인을 사용하도록 Microsoft 인터넷 정보 서비스(IIS)를 구성하려면 Windows 인터넷 서비스 관리자에서 특정 등록 정보를 수정합니다. 인터넷 서비스 관리자는 제어판 폴더의 관리 도구 폴더에 있습니다.

Sun Java System Application Server를 설치한 후에 다음과 같이 수정합니다.

Procedure로드 밸런서 플러그인을 사용하도록 Microsoft IIS 구성

  1. 인터넷 서비스 관리자를 엽니다.

  2. 플러그인을 사용할 웹 사이트를 선택합니다.

    이 웹 사이트는 일반적으로 기본 웹 사이트로 명명됩니다.

  3. 웹 사이트를 마우스 오른쪽 버튼으로 누른 다음 속성을 선택하여 속성 노트북을 엽니다.

  4. 다음 단계에 따라 새 ISAPI 필터를 추가합니다.

    1. ISAPI 필터 탭을 엽니다.

    2. 추가를 누릅니다.

    3. 필터 이름 필드에 Application Server를 입력합니다.

    4. 실행 파일 필드에 C:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.dll을 입력합니다.

    5. 확인을 누르고 속성 노트북을 닫습니다.

  5. 새로운 가상 디렉토리를 작성하고 구성합니다.

    1. 기본 웹 사이트를 마우스 오른쪽 버튼으로 누른 다음 가상 디렉토리를 선택합니다.

      가상 디렉토리 작성 마법사가 열립니다.

    2. 별칭 필드에 sun-passthrough를 입력합니다.

    3. 디렉토리 필드에 C:\Inetpub\wwwroot\sun-passthrough를 입력합니다.

    4. 실행 권한 확인란을 선택합니다.

      다른 모든 권한 관련 확인란은 선택 해제한 채로 둡니다.

    5. 마침을 누릅니다.

  6. sun-passthrough.dll 파일의 경로 및 application_server_install_dir/bin을 시스템의 PATH 환경 변수에 추가합니다.

  7. 시스템을 다시 시작합니다.

  8. 새로운 설정을 적용하려면 웹 서버를 중지했다가 다시 시작합니다.

    웹 서버를 중지하려면 웹 사이트를 마우스 오른쪽 버튼으로 누르고 중지를 선택합니다. 웹 서버를 시작하려면 웹 사이트를 마우스 오른쪽 버튼으로 누르고 시작을 선택합니다.

  9. 웹 서버, 로드 밸런서 플러그인 및 Application Server가 제대로 작동하는지 확인합니다.

    웹 브라우저에 다음 사항을 입력하여 웹 응용 프로그램 컨텍스트 루트에 액세스합니다. http://webserver_name/ web_application. 여기서 webserver_name은 웹 서버의 호스트 이름 또는 IP 주소이고 web_applicationC:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.properties 파일에 나열한 컨텍스트 루트입니다.

자동으로 구성된 Sun-passthrough 등록 정보

설치 프로그램에서 sun-passthrough.properties의 다음 등록 정보를 자동으로 구성합니다. 기본값을 변경할 수 있습니다.

등록 정보 

정의 

기본값 

lb-config-file 

로드 밸런서 구성 파일 경로 

IIS_www_root\sun-passthrough\loadbalancer.xml

log-file 

로드 밸런서 로그 파일 경로 

IIS_www_root\sun-passthrough\lb.log

log-level 

웹 서버의 로그 수준 

INFO 

다중 웹 서버 인스턴스 구성

Sun Java System Application Server 설치 프로그램을 사용할 경우 단일 시스템에 여러 로드 밸런서 플러그인을 설치할 수 없습니다. 단일 시스템에 로드 밸런서 플러그인과 함께 복수 웹 서버를 두려면 단일 클러스터 또는 복수 클러스터든 상관없이 로드 밸런서 플러그인을 구성하기 위한 몇 가지 수동 단계가 필요합니다.

Procedure다중 웹 서버 인스턴스 구성

  1. 로드 밸런서 플러그인을 사용하도록 새 웹 서버 인스턴스를 구성합니다.

    Sun Java System Web Server 수정 사항, Apache Web Server 사용 또는 설치의 단계를 따릅니다.

  2. DTD 파일을 복사합니다.

    기존 웹 서버 인스턴스의 config 디렉토리에서 새 인스턴스의 config 디렉토리로 sun-loadbalancer_1_1.dtd를 복사합니다.

  3. 로드 밸런서 구성 파일을 설정합니다. 다음의 두 가지 방법 중 하나를 사용합니다.

    • 기존 로드 밸런서 구성을 복사합니다.

      기존 로드 밸런서 구성을 사용하여 기존 웹 서버 인스턴스의 config 디렉토리에서 새 인스턴스의 config 디렉토리로 loadbalancer.xml 파일을 복사합니다.

    • 새 로드 밸런서 구성을 만듭니다.

      1. asadmin create-http-lb-config를 사용하여 새 로드 밸런서 구성을 만듭니다.

      2. asadmin export http-lb-config를 사용하여 새 구성을 loadbalancer.xml 파일로 내보냅니다.

      3. 해당 loadbalancer.xml 파일을 새 웹 서버의 config 디렉토리에 복사합니다.

        로드 밸런서 구성을 만든 후 loadbalancer.xml 파일로 내보내는 방법에 대한 자세한 내용은 HTTP 로드 밸런서 구성 만들기를 참조하십시오.