JEUS 서버 기동 및 종료

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

1. 개요

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

  • JEUS Master Server를 실행하는 startMasterServer 명령어

  • Managed Server를 실행하는 startManagedServer 명령어

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

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

  • stopServer 명령어

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

JEUS_HOME/bin/

2. 사용법

본 절에서는 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을 수정하면 서버를 디버그 모드로 운영할 수 있다. 이 설정 방법은 디버그 모드의 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] 옵션을 미지정할 경우 처리 중인 요청이 끝나길 무한히 기다린다.

3. 마스터 패스워드 입력

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

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

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

4. 디버그 모드의 JEUS 서버 실행

디버그 모드로 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. 시스템 프로퍼티"를 참조한다. 개요에서는 JVM에서 사용하는 “-D” 옵션에 대하여 설명하고 있다.

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