시스템 설정

본 장에서는 JEUS의 환경설정 및 기동 방법에 대한 기본적인 내용을 설명한다.

1. 개요

WebAdmin을 사용해서 시스템을 구성하는 방법은 다음의 순서로 설명한다.

2. 기본 환경설정

JEUS WebAdmin은 웹을 통해 JEUS의 모든 요소를 관리할 수 있는 서비스를 제공한다. 사용자는 쉽게 JEUS에 접근하여 시스템 설정과 모니터링 및 애플리케이션을 관리할 수 있다.

다음 순서에 따라 WebAdmin을 실행한다.

  1. 커맨드 창에서 startMasterServer 파일을 실행해서 JEUS MASTER를 실행한다.

    다음은 JEUS MASTER를 실행하는 예제이다.

    C:\jeus\bin>startMasterServer -u administrator -p <password>
    **************************************************************
      - JEUS Home         : C:\jeus
    - Added Java Option : -d64 -Djeus.vm.bits=64 -Djeus.io.buffer.size-per-pool=81920 -Djeus.cdi.enabled=false -Djeus.jms.server.manager.produce-wait-strategy-type=blocking -Djeus.servlet.sortWebinfLibraries=name_asc
    ***************************************************************
    
    =============== JEUS LICENSE INFORMATION ================
    == VERSION : JEUS 21 Fix#1 (21.0.0.1-b435)
    == EDITION: Enterprise (Trial License)
    == NOTICE: This license restricts the number of allowed clients.
    == Max. Number of Clients: 5
    ==========================================================
    [2023.04.24 17:54:09][1] [launcher-1] [Config-0153] DomainConfigServiceProvider is jeus.service.descriptor.JEUSDomainDescriptorFile.
    This license is not appropriate for product runtime mode. Replace the license with an appropriate one.
    [2023.04.24 17:54:10][1] [launcher-1] [Config-0157] SecurityDomainsConfigServiceProvider is jeus.service.descriptor.SecurityDomainsDescriptorFile.
    [2023.04.24 17:54:10][2] [launcher-1] [Launcher-0012] Starting the server [server1] with the command
     /home/jdk1.8.0_251/bin/java -Dserver1 -Xms1024m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -d64 -Djeus.vm.bits=64 -Djeus.io.buffer.size-per-pool=81920 -Djeus.cdi.enabled=false -Djeus.jms.server.manager.produce-wait-strategy-type=blocking -Djeus.servlet.sortWebinfLibraries=name_asc -server -Xbootclasspath/p:/home/JEUS21001_installer/lib/system/extension.jar -classpath /home/JEUS21001_installer/lib/system/bootstrap.jar -Djava.security.policy=/home/JEUS21001_installer/domains/jeus21/config/security/policy -Djava.library.path=/home/JEUS21001_installer/lib/system:/home/webtob5004_B231_0_38//lib:/home/webtob5004_B231_0_38//lib:/home/webtob5004_B231_0_38//lib: -Djava.endorsed.dirs=/home/JEUS21001_installer/lib/endorsed -Djeus.properties.replicate=jeus,sun.rmi,java.util,java.net -Djava.util.logging.config.file=/home/JEUS21001_installer/bin/logging.properties -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.util.logging.manager=jeus.util.logging.JeusLogManager -Djeus.home=/home/JEUS21001_installer -Djava.net.preferIPv4Stack=true -Djeus.tm.checkReg=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Djeus.tool.webadmin.locale.language=ko -Djeus.domain.name=jeus21 -Djava.naming.factory.initial=jeus.jndi.JNSContextFactory -Djava.naming.factory.url.pkgs=jeus.jndi.jns.url -Djeus.server.protectmode=false -Dis.jeus.master=true -Dsun.net.http.errorstream.enableBuffering=true -Djeus.master.admin.ui.context.path=/webadmin -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=/home/JEUS21001_installer/domains/jeus21/servers/server1/logs/jvm.log jeus.server.admin.MasterServerBootstrapper -domain jeus21 -u administrator -verbose -server server1 .
    [2023.04.24 17:54:10][2] [launcher-1] [Launcher-0014] The server[server1] is being started ...
    [2023.04.24 17:54:10][1] [server1-1] [Config-0153] DomainConfigServiceProvider is jeus.service.descriptor.JEUSDomainDescriptorFile.
    [2023.04.24 17:54:10][1] [server1-1] [Config-0157] SecurityDomainsConfigServiceProvider is jeus.service.descriptor.SecurityDomainsDescriptorFile.
    [2023.04.24 17:54:12][2] [server1-1] [SERVER-0248] The JEUS server is STARTING.
    [2023.04.24 17:54:12][0] [server1-1] [SERVER-0000] Version information - JEUS 21 Fix#1 (21.0.0.1-b435).
    
    ... 중략
    
    [2023.04.24 17:54:29][2] [launcher-13] [Launcher-0034] The server[server1] initialization completed successfully[pid : 473].
    [2023.04.24 17:54:29][0] [launcher-1] [Launcher-0040] Successfully started the server[server1]. The server state is now RUNNING..

    startMasterServer 스크립트는 JEUS_HOME/bin/ 디렉터리에 위치하며 시스템 경로(path)에 설정되어 있어야 한다.

  2. 웹 브라우저를 열고 WebAdmin에 접속해서 JEUS를 설치할 때 설정했던 JEUS에 대한 로그인 ID와 패스워드를 입력한다. MASTER의 Base Port는 9736이며, WebAdmin은 Base Port를 통해 접속한다.

    http://<localhost>:9736/webadmin
    figure webadmin login
    WebAdmin 로그인 화면
  3. 성공적으로 인증되었다면 다음과 같은 WebAdmin 메인 화면으로 이동한다.

    figure webadmin 1
    WebAdmin 메인 화면

3. Managed Server(MS)의 추가와 설정

MS는 실제 애플리케이션을 서비스하기 위한 엔진들과 여러 서비스들을 관장하는 서버 인스턴스를 의미한다. MS는 도메인에 여러 개 존재할 수 있다. MS의 주요 역할은 사용자가 deploy하는 애플리케이션을 서비스하고, 애플리케이션이 필요로 하는 리소스나 서비스를 제공하는 것이다.

Managed Server 추가

다음은 새로운 MS를 추가하고, 추가된 MS에 리스너를 추가하는 방법이다.

  1. WebAdmin 메인 화면에서 Master Server를 선택한 후 JEUS Master 화면 상단 메뉴에서 [서버]를 선택한다. 서버 목록 화면에서 [추가] 버튼을 클릭한다.

    figure managedserver add1
    MS 추가 - 서버 목록 화면
  2. 서버 추가 화면에서 설정 항목의 값을 설정하고 [추가] 버튼을 클릭한다.

    figure managedserver add2
    MS 추가 - 기본 정보 설정

    MS를 기동하려면 'BASE’라는 리스너를 이용하는데, 기본값이 '9736’으로 설정된다. 이는 MASTER와 값이 동일하여 정상적으로 기동되지 않을 수 있으므로 변경해야 한다.

  3. 서버에 추가가 완료되면 서버 목록 화면에서 동적 설정으로 MS가 생성된 것을 확인할 수 있다.

    figure managedserver add3
    MS 추가 - 서버 추가 결과 확인
  4. 서버 목록 화면에서 서버를 선택하고 [Resource] > [Listener] 메뉴를 선택한다. Listeners 화면에서 'BASE' 리스너를 선택하면 상세 정보 페이지로 이동하여 설정한 리스너 확인이 가능하다.

    figure managedserver add4
    MS 추가 - 리스너 선택
  5. Listeners 상세 정보화면에서 [수정] 버튼을 클릭해서 수정 모드로 변경한 후 'Listener' 항목을 변경하고 [저장] 버튼을 클릭한다.

    figure managedserver add5
    MS 추가 - 리스너 설정 변경
HTTP 리스너 및 커넥터 설정

새로 추가된 MS를 구동하기 위한 설정은 기본 설정으로 충분하며, 추가로 HTTP 리스너 추가하여 웹 엔진을 이용한 서비스하기 위해서는 리스너 및 커넥터 설정을 추가적으로 진행해야 한다.

  1. WebAdmin 메인 화면에서 Master Server를 선택한 후 JEUS Master 화면 상단 메뉴에서 [서버]를 선택한다. 서버 목록 화면에서 서버를 선택한 후 [Resource] > [Listener] 메뉴를 선택한다. Listeners 화면에서 [추가] 버튼을 클릭한다.

    figure listener add1
    HTTP 리스너 설정 - 리스너 추가
  2. Listener 추가 화면에서 'Name''Listen Port' 등의 항목 값을 설정하고 [추가] 버튼을 클릭한다.

    figure listener add2
    Http 리스너 설정 - 기본 정보 설정

    다른 리스너에서 사용하는 Port와 중복되지 않도록 설정한다.

  3. 서버 목록 화면에서 서버를 선택하고 [Engine] > [Web Engine] > [Web Connections] 탭을 선택한다. Web Connections 화면에서 [추가] 버튼을 클릭한 후 [HttpListener] 메뉴를 선택한다.

    figure listener add4
    Http 리스너 설정 - Web Connection 추가
  4. Http Listener 추가 화면에서 'Name''Server Listener Ref' 등의 항목을 설정한다. 'Server Listener Ref'는 이전에 설정한 'http-listener’를 콤보박스에서 선택한다. 설정이 완료되면 [추가] 버튼을 클릭한다.

    figure listener add5
    Http 리스너 설정 - Web Connection 기본 설정
  5. Web Engine 목록 화면(Http 리스너 설정 - Web Connection 추가)에서 등록된 정보를 확인한다.

4. 데이터소스 추가

데이터소스(Datasource)는 데이터베이스와 Jakarta EE 프로그램을 연결하기 위해 사용된다.

예제에서는 JEUS에 기본적으로 포함되어 있는 Apache Derby 데이터베이스를 사용한다. Apache Derby는 JEUS_HOME\derby에 포함되어 있다. 만약 Derby가 실행되어 있지 않다면 다음과 같이 실행한다.

UNIX/Linux에서 또는 Windows의 명령 프롬프트에서 다음과 같이 실행한다.

JEUS_HOME\bin> startderby

추후에 Derby를 종료하기 위해서는 다음과 같이 실행한다.

JEUS_HOME\bin> stopderby

Derby를 JEUS에서 사용하려면 Derby의 JDBC 드라이버 파일인 derbyclient.jar가 JEUS_HOME\lib\datasource에 위치해야 한다(기본적으로 포함되어 있다). Derby에 대한 자세한 내용은 http://db.apache.org/derby/를 참고한다.

예제에서는 sample이라는 데이터베이스를 jdbc/sample이라는 데이터소스 이름으로 사용한다.

다음은 데이터소스를 추가하는 방법에 대한 설명이다.

  1. WebAdmin 메인 화면에서 Master Server를 선택한 후 JEUS Master 화면 상단 메뉴에서 [리소스]를 선택한다. 설정 메뉴에서 [DataSource]를 선택한 후 Data Source 화면에서 [추가] 버튼을 클릭한다.

    figure datasource add1
    데이터소스 추가 - JDBC 데이터 목록
  2. Database 추가 화면에서 기본 정보를 설정한 후 [추가] 버튼을 클릭한다.

    figure datasource add2
    데이터소스 추가 - 기본 정보 설정
  3. Data Source 화면에서 생성된 데이터소스가 데이터소스 목록에 조회된 것을 확인할 수 있다.

    figure datasource add3
    데이터소스 추가 - 목록 조회
  4. JEUS Master 화면 상단 메뉴에서 [서버]를 선택한 후 서버 목록에서 서버를 선택한 후 [Basic] > [Basic Info]를 선택한다. 서버 설정 화면에서 [수정] 버튼을 클릭해서 수정 모드로 변경한 후 'Data Source' 항목에 적용할 데이터소스를 선택한다.

    figure datasource add4
    데이터소스 추가 - 데이터소스 선택

5. 서버 기동 및 종료

WebAdmin을 통해 MS를 기동하려면 MASTER 및 HostManager가 실행된 상태여야 한다. MASTER 및 HostManager가 실행된 상태에서 WebAdmin을 사용해서 MS를 기동 및 종료할 수 있다. 단, WebAdmin 내 host 정보가 추가되어 있어야 하며, 실행할 서버의 node name에 host id가 추가되어야 한다.

WebAdmin 메인 화면에서 Master Server를 선택한 후 JEUS Master 화면 상단 메뉴에서 [서버]를 선택한다. 서버 목록에서 서버를 선택한 후 [시작], [종료] 버튼을 클릭하면 해당 서버를 기동하거나 종료할 수 있다.

figure managedserver boot1
JEUS WebAdmin - 서버 기동 및 종료