제3장 JEUS 서버 기동 및 종료

내용 목차

3.1. 개요
3.2. 사용법
3.3. 마스터 패스워드 입력
3.4. 디버그 모드의 JEUS 서버 실행

본 절에서는 JEUS 서버를 기동 및 종료하는 명령어에 대해 설명한다.

JEUS 서버를 실행하는 명령어는 다음의 2가지로 나뉜다.

서버 실행 명령어들은 해당 서버의 Launcher를 실행한다. Launcher는 서버를 실행시키기 위한 준비작업을 완료한 뒤 실제 서버 JVM을 기동한다. DAS는 실제 서비스가 되는 MS를 관리하는 서버로 관리자의 명령을 MS로 전달하는 Agent 역할을 한다.

JEUS 서버를 종료하는 명령어는 서버 종류에 관계 없이 하나이다.

서버 기동 및 종료 명령어는 다음의 디렉터리에 위치한다

JEUS_HOME/bin/

본 절에서는 DAS와 MS를 기동 및 종료하는 방법에 대해서 설명한다.

jeusadmin이나 WebAdmin과 같은 툴을 통해 MS를 관리하기 위해서는 먼저 DAS를 기동해야 한다.

DAS는 각 MS와 통신하고 각 MS는 각 HOST 머신에서 동작한다. 도메인에 속한 모든 서버는 하나의 설정 파일인 다음의 파일을 공유한다. 해당 설정 파일에서 자신의 동작에 필요한 설정들을 읽어 동작한다.

JEUS_HOME/domains/DOMAIN_NAME/config/domain.xml

DAS 기동

다음은 DAS를 기동하기 위해 startDomainAdminServer 명령을 실행하는 과정이다.

  1. DAS를 기동하려면 각 OS별로 다음의 명령을 실행한다.

    • UNIX나 Linux

      startDomainAdminServer
    • Windows

      startDomainAdminServer.cmd
  2. 명령 프롬프트에 startDomainAdminServer를 입력한 뒤 아래의 설정들을 추가한다.

    domain.xml을 수정하면 서버를 디버그 모드로 운영할 수 있다. 이 설정 방법은 “3.4. 디버그 모드의 JEUS 서버 실행”을 참고한다.

    startDomainAdminServer [-h] 
                           [-domain <domain-name> -server <das-name>]
                           [-u <user-name> -p <password>] 
                           [-cachelogin]
                           [-f <file-name>]
                           [-force]
                           [-standby]
                           [-rolling]
                           [-verbose]
                           [-giturl <repository-address>]

    다음은 명령어 옵션에 대한 설명이다.

    옵션설명
    [-h]명령의 도움말을 출력한다.
    [-domain <domain-name>]기동할 DAS가 속한 도메인의 이름을 설정한다.
    [-server <das-name>]기동할 DAS의 이름을 설정한다.

    [-u <user-name>]

    [-p <password>]

    서버를 기동하는 주체를 의미한다.

    [-u] 및 [-p]는 관리자 ID와 패스워드를 의미하며, 서버 실행을 위한 필수 입력사항이다.

    [-cachelogin]

    [-u], [-p] 옵션으로 입력한 로그인 정보를 캐시한다.

    캐시한 로그인 정보가 존재할 경우 [-p] 옵션을 대체할 수 있다. 권장하지 않는 기능으로 자세한 내용은 "JEUS Security 안내서"를 참고한다.

    [-f <file-name>]캐시 로그인 정보를 가진 파일의 경로를 지정한다.
    [-force]등록된 애플리케이션이 모두 RUNNING 상태가 아니더라도, 서버의 상태를 강제로 RUNNING으로 만든다.
    [-standby]서버를 STANDBY 상태로 기동시킨다.
    [-rolling]Rolling Patch를 위한 옵션으로 내부적으로 사용하는 옵션이다. 부팅할 때 사용자가 설정하면 안된다.
    [-verbose]Launcher를 종료하지 않고 서버에서 발생하는 로그를 Launcher 화면에 출력할지 여부를 지정한다.
    [-giturl <repository-address>]

    설정 파일을 받아올 Git 저장소의 url을 https 프로토콜의 형태로 지정한다.

    기존 도메인에 있던 설정 파일은 제거되기 때문에 사용하는 경우 유의해야 한다. 자세한 내용은 "JEUS Server 안내서"를 참고한다.

MS를 기동할 때 옵션은 DAS를 기동할 때의 옵션과 대부분이 동일하다. MS에서는 특별히 dasurl 옵션이 추가로 존재하며, 이는 MS를 기동할 때 DAS로부터 설정 파일을 받아오는 데 사용된다.

MS 기동

다음은 MS를 기동하기 위해 startManagedServer 명령을 실행하는 과정이다.

  1. MS를 기동하려면 다음의 명령을 실행한다.

    • UNIX나 Linux

      startManagedServer
    • Windows

      startManagedServer.cmd
  2. 명령 프롬프트에 startManagedServer를 입력한 뒤 아래의 설정들을 추가한다.

    startManagedServer [-h]
                       [-domain <domain-name> -server <server-name>]
                       [-u <user-name> -p <password>] 
                       [-cachelogin]
                       [-f <file-name>]
                       [-force]
                       [-standby]
                       [-rolling]
                       [-verbose]
                       [-giturl <repository-address>]
                       [-dasurl <das-url>]

    다음은 명령어 옵션에 대한 설명이다.

    옵션설명
    [-h]명령어의 도움말을 출력한다.
    [-domain <domain-name>]기동할 MS가 속한 도메인의 이름을 설정한다.
    [-server <server-name>]기동할 MS의 이름을 설정한다. 필수 입력사항이다.

    [-u <user-name>]

    [-p <password>]

    서버를 기동하는 주체를 의미한다.

    [-u] 및 [-p]는 관리자 ID와 패스워드를 의미하며, 서버 실행을 위한 필수 입력사항이다.

    [-cachelogin]

    [-u], [-p] 옵션으로 입력한 로그인 정보를 캐시한다.

    캐시한 로그인 정보가 존재할 경우 [-p] 옵션을 대체할 수 있다. 권장하지 않는 기능으로 자세한 내용은 "JEUS Security 안내서"를 참고한다.

    [-f <file-name>]캐시 로그인 정보를 가진 파일의 경로를 지정한다.
    [-force]등록된 애플리케이션이 모두 RUNNING 상태가 아니더라도, 서버의 상태를 강제로 RUNNING으로 만든다.
    [-standby]서버를 STANDBY 상태로 기동시킨다.
    [-rolling]Rolling Patch를 위한 옵션으로 내부적으로 사용하는 옵션이다. 부팅할 때 사용자가 설정하면 안된다.
    [-verbose]Launcher를 종료하지 않고 서버에서 발생하는 로그를 Launcher 화면에 출력할지 여부를 지정한다.
    [-giturl <repository-address>]

    설정 파일을 받아올 Git 저장소의 url을 https 프로토콜의 형태로 지정한다.

    기존 도메인에 있던 설정 파일이 제거될 수 있기 때문에 사용하는 경우 유의해야 한다. 자세한 내용은 "JEUS Server 안내서"를 참고한다.

    [-dasurl <das-url>]자신이 속한 도메인을 관리하는 DAS의 URL 주소를 지정한다. DAS로부터 새로운 설정 파일을 받아올 수 있도록 URL 주소를 설정할 것을 권장한다.

서버 종료

다음은 서버를 종료하기 위해 stopServer 명령을 실행하는 과정이다.

  1. 서버를 종료하려면 다음의 명령을 실행한다.

    • UNIX나 Linux

      stopServer
    • Windows

      stopServer.cmd
  2. 명령 프롬프트에 stopServer를 입력한 뒤 아래의 설정들을 추가한다.

    stopServer [-host <host:port>]
                 [-server <server-name> -dasurl <address:port>]
                 [-u <user-name> -p <password>] 
                 [-cachelogin -domain <domain-name> -f <cachelogin-file>]
                 [-g -to <timeout>]

    다음은 명령어 옵션에 대한 설명이다.

    옵션설명
    [-host <host:port>]종료시키려는 서버의 호스트 정보를 host:port 형태로 지정한다.

    [-server <server-name> -dasurl <address:port>]

    종료시키려는 MS의 이름을 [-server] 옵션에 지정하고, MS가 위치한 DAS의 주소 정보를 [-dasurl] 옵션에 address:port 형태로 지정한다.

    [-host] 옵션과 함께 사용할 수 없다.

    [-u <user-name> -p <password>]

    서버를 종료하는 주체를 의미한다.

    [-u] 및 [-p]는 관리자 ID와 패스워드를 의미한다.

    [-cachelogin -domain <domain-name> -f <cachelogin-file>]

    [-u], [-p] 옵션으로 입력한 로그인 정보를 캐시한다.

    캐시 로그인 정보를 지정하는 key로 domain이름을 사용한다. 따라서 [-domain] 옵션을 통해 domain 이름을 지정해야 한다.

    [-f] 옵션은 캐시 로그인 정보를 가진 파일의 경로를 지정하기 위한 옵션으로, 미지정시 기본값인 ~/.jeusadmin/.jeuspasswd 로 지정된다.

    캐시한 로그인 정보가 존재할 경우 [-p] 옵션을 대체할 수 있다. 권장하지 않는 기능으로 자세한 내용은 "JEUS Security 안내서"를 참고한다.

    [-g -to <timeout>]

    Graceful하게 종료할지 여부를 설정한다.

    [-to] 옵션을 통해 Graceful하게 종료할 때 사용할 타임아웃을 설정할 수 있다. 처리 중인 요청을 입력한 시간만큼 완료되길 기다린다. (단위: second)

    [-to] 옵션을 미지정할 경우 처리 중인 요청이 끝나길 무한히 기다린다.

암호화 툴을 이용하여 security.key 파일을 마스터 패스워드로 암호화한 경우 서버를 기동할 때 마스터 패스워드를 입력해야 한다. security.key 파일에는 대칭키 암호화 알고리즘의 키가 저장된다. 암호화 툴에 관한 자세한 사항은 “4.5. encryption”을 참조한다.

서버를 기동 및 종료할 때 security.key 파일이 암호화되어 있는 경우 다음과 같은 콘솔 입력 화면이 나타나면서 마스터 패스워드의 입력을 기다린다. 마스터 패스워드가 맞지 않는다면 서버 기동 및 종료가 불가능하다.

The encryption key file is encrypted. Enter the master password.
Password>  

디버그 모드로 JEUS 서버를 실행할 경우, JPDA 지원 디버거를 사용하여 서블릿과 EJB 애플리케이션을 디버그할 수 있다. JEUS 서버를 디버그 모드로 시작하기 위해서는 각 서버의 jvm-option 설정에 다음과 같이 디버그 옵션을 추가한다.

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888

“8888”의 디버그 Port(디버그 Port는 JPDA 디버거가 JVM에 접근할 때 사용된다)를 사용하여 JEUS 서버를 디버그 모드에서 동작하도록 한다.

수정된 설정으로 JEUS 서버를 기동한다. 그런 다음 JPDA를 지원하는 IDE(Integrated Development Environment)를 사용하여 EJB와 서블릿 애플리케이션을 디버그한다.

각 서버의 jvm-option 설정을 통해 시스템 환경변수 등도 설정이 가능하다. JEUS에서 사용하는 시스템 환경변수에 대해서는 “Part I, 시스템 프로퍼티”를 참조한다. “1.1. 개요”에서는 JVM에서 사용하는 “-D” 옵션에 대하여 설명하고 있다.

참고

jvm-option 설정은 해당 서버에만 적용된다는 것을 유의한다.