제3장 JEUS 서버 기동 및 종료

내용 목차

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

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

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

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

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

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

JEUS_HOME/bin/

본 절에서는 JEUS Master Server와 Managed Server를 기동 및 종료하는 방법에 대해서 설명한다.

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

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

JEUS_HOME/domains/DOMAIN_NAME/config/domain.xml

JEUS Master Server 기동

다음은 JEUS Master Server를 기동하기 위해 startMasterServer 명령을 실행하는 과정이다.

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

    • UNIX나 Linux

      startMasterServer
    • Windows

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

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

    startMasterServer [-h] 
                           [-domain <domain-name> -server <server-name>]
                           [-u <user-name> -p <password>] 
                           [-cachelogin]
                           [-f <file-name>]
                           [-force]
                           [-standby]
                           [-rolling]
                           [-verbose]
                           [-fg]

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

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

    [-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 화면에 출력할지 여부를 지정한다.
    [-fg]서버를 Background 모드가 아닌 Foreground 모드로 기동시킨다. 이 경우 Launcher는 서버가 기동되는 시점에 종료된다.

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

Managed Server 기동

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

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

    • 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]
                       [-masterurl <master-url>]
                       [-fg]

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

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

    [-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 화면에 출력할지 여부를 지정한다.
    [-masterurl <master-url>]자신이 속한 도메인을 관리하는 JEUS Master Server의 URL 주소를 지정한다. JEUS Master Server로부터 새로운 설정 파일을 받아올 수 있도록 URL 주소를 설정할 것을 권장한다.
    [-fg]서버를 Background 모드가 아닌 Foreground 모드로 기동시킨다. 이 경우 Launcher는 서버가 기동되는 시점에 종료된다.

서버 종료

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

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

    • UNIX나 Linux

      stopServer
    • Windows

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

    stopServer [-host <host:port>]
               [-server <server-name> -masterurl <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> -masterurl <address:port>]

    종료시키려는 Managed Server의 이름을 [-server] 옵션에 지정하고, Managed Server가 위치한 JEUS Master Server의 주소 정보를 [-masterurl] 옵션에 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 설정은 해당 서버에만 적용된다는 것을 유의한다.