제8장 시스템 설정

내용 목차

8.1. 개요
8.2. 기본 환경설정
8.3. Managed Server(MS)의 추가와 설정
8.4. 데이터소스 추가
8.5. WebAdmin에서 서버 기동 및 종료

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

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

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

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

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

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

    C:\Users\tmax>startDomainAdminServer -u administrator -p <password> -verbose
    **************************************************************
      - JEUS Home         : C:\TmaxSoft\JEUS8_5
      - Added Java Option :
      - Java Vendor       : Sun
    **************************************************************
    
    C:\Users\tmax>"C:\Program Files\Java\jdk-11.0.4\bin\java" 
    -server --add-opens=java.base/java.lang=ALL-UNNAMED -Xbootclasspath/a:"C:\TmaxSoft\JEUS8_5\lib\system\extension.jar" 
    -Xmx256m -classpath "C:\TmaxSoft\JEUS8_5\lib\system\bootstrap.jar;C:\TmaxSoft\JEUS8_5\lib\system\activation-1.1.1.jar" 
    -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djeus.jvm.version=hotspot 
    -Djeus.home="C:\TmaxSoft\JEUS8_5" -Djava.naming.factory.initial=jeus.jndi.JNSContextFactory -Djava.naming.factory.url.pkgs=jeus.jndi.jns.url 
    -Djava.library.path="C:\TmaxSoft\JEUS8_5\lib\system" -Djava.util.logging.manager=jeus.util.logging.JeusLogManager 
    -Djava.util.logging.config.file="C:\TmaxSoft\JEUS8_5\bin\logging.properties" -Djeus.properties.replicate=jeus,java.util.logging,sun.rmi.dgc,java.net 
    -Djava.net.preferIPv4Stack=true jeus.server.LauncherBootstrapper -u administrator -p 1111111 -verbose
    
    ================ JEUS LICENSE INFORMATION ================
    === VERSION : JEUS 8.5 (8.5.0.0-b266018)
    === EDITION: Enterprise (Trial License)
    === NOTICE: This license restricts the number of allowed clients.
    === Max. Number of Clients: 5
    ==========================================================
    This license is not appropriate for product runtime mode. Replace the license with an appropriate one.
    [2021.09.30 14:25:20][2] [launcher-1] [Launcher-0012] Starting the server [adminServer] with the command
     C:\Program Files\Java\jdk-11.0.4\bin\java -DadminServer -Xmx1024m -XX:MaxPermSize=128m 
    -server -Xbootclasspath/a:C:\TmaxSoft\JEUS8_5\lib\system\extension.jar --add-opens=java.base/java.lang=ALL-UNNAMED 
    -classpath C:\TmaxSoft\JEUS8_5\lib\system\bootstrap.jar -Djava.security.policy=C:\TmaxSoft\JEUS8_5\domains\jeus_domain\config\security\policy 
    -Djava.library.path=C:\TmaxSoft\JEUS8_5\lib\system -Djeus.properties.replicate=jeus,java.util.logging,sun.rmi.dgc,java.net 
    -Djeus.jvm.version=hotspot -Djava.util.logging.config.file=C:\TmaxSoft\JEUS8_5\bin\logging.properties 
    -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.util.logging.manager=jeus.util.logging.JeusLogManager 
    -Djeus.home=C:\TmaxSoft\JEUS8_5 -Djava.net.preferIPv4Stack=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Djeus.domain.name=jeus_domain 
    -Djava.naming.factory.initial=jeus.jndi.JNSContextFactory -Djava.naming.factory.url.pkgs=jeus.jndi.jns.url 
    -Djeus.server.protectmode=false -XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput 
    -XX:LogFile=C:\TmaxSoft\JEUS8_5\domains\jeus_domain\servers\adminServer\logs\jvm.log 
    jeus.server.admin.DomainAdminServerBootstrapper -u administrator -verbose -domain jeus_domain -server adminServer .
    
    [2021.09.30 14:25:20][2] [launcher-1] [Launcher-0014] The server[adminServer] is being started ...
    Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0
    [2021.09.30 14:25:22][2] [adminServer-1] [SERVER-0248] The JEUS server is STARTING.
    [2021.09.30 14:25:22:453][0] [adminServer-1] [SERVER-0000] Version information - JEUS 8.5 (8.5.0.0-b266018).
    
    
    .... 중략
    
    
    [2021.09.30 14:25:25:351][0] [adminServer-1] [SERVER-0242] Successfully started the server.
    [2021.09.30 14:25:25:351][2] [adminServer-1] [SERVER-0248] The JEUS server is RUNNING.
    [2021.09.30 14:25:25:354][2] [adminServer-1] [SERVER-0401] The elapsed time to start: 4431ms.
    [2021.09.30 14:25:25][2] [launcher-14] [Launcher-0034] The server[adminServer] initialization completed successfully[pid : 14600].
    [2021.09.30 14:25:25][0] [launcher-1] [Launcher-0040] Successfully started the server[adminServer]. The server state is now RUNNING.
    [2021.09.30 14:25:27:149][2] [adminServer-69] [SCF-0210] Leader election state has been changed from 'ELECTING' to 'ASSIGNED'.
    [2021.09.30 14:25:52:583][2] [adminServer-58] [WEB-3049] The JSP service has been disabled for the web application[webadmin].
    [2021.09.30 14:25:52:586][2] [adminServer-58] [WEB-3857] <Session information of Context(webadmin)>
    - session descriptor -
        - timeout           : 30(min)
        - max session count : -1
        - shared            : false
        - reload-persistent : false
    - session tracking mode -
        - Cookie     : true
        - URL Rewrite: false
        - SSL        : false
    
    - session cookie config -
        - cookie-name : JSESSIONID
        - url-cookie-name : jsessionid
        - version         : 0
        - domain          : null
        - path            : null
        - max-age         : -1 (browser-lifetime)
        - secure          : false
        - http-only       : true
        - same-site       : Disable
    
    
    [2021.09.30 14:26:01:642][2] [adminServer-58] [WEB-1032] Distributed the web context [webadmin] information
    - Virtual host    : SYSTEM_HOST
    - Context path    : /webadmin
    - Document base   : C:\TmaxSoft\JEUS8_5\domains\jeus_domain\servers\adminServer\.workspace\deployed\webadmin\1632977125734\webadmin_war___
    - Module version  : 3.0
    - Class loading   : ISOLATED
    
    [2021.09.30 14:26:01:675][0] [adminServer-58] [WEB-3000] webadmin: No Spring WebApplicationInitializer types detected on classpath
    [2021.09.30 14:26:01:677][1] [adminServer-58] [WebSocketServer-0026] There are no WebSocket server endpoints so that WebSocketContainer is not created.
    [2021.09.30 14:26:01:856][0] [adminServer-58] [WEB-3000] webadmin: Initializing Spring root WebApplicationContext
    [2021.09.30 14:26:19:528][0] [adminServer-58] [WEB-3000] webadmin: Initializing Spring FrameworkServlet 'appServlet'
    [2021.09.30 14:26:21:975][1] [adminServer-16] [UNIFY-0011] Unknown or unregistered virtual listener SCF. The socket will be discarded.
    [2021.09.30 14:26:23:749][2] [adminServer-58] [WEB-3480] The web module [webadmin, packaged time=1632977125734, 
    index=1632977125734] has been successfully distributed.
    [2021.09.30 14:26:23:766][2] [adminServer-58] [Deploy-0096] Successfully distributed the application[webadmin].
    [2021.09.30 14:26:23:766][2] [adminServer-58] [WEB-3484] ServletContext[name=webadmin, path=/webadmin, ctime=Thu Sep 30 14:25:39 KST 2021, 
    apptime=1632977125734, index=1632977125734] started successfully.
    [2021.09.30 14:26:23:767][2] [adminServer-58] [SERVER-0822] Successfully deployed the system application[webadmin] in the background.
  2. 웹 브라우저를 열고 WebAdmin에 접속해서 JEUS를 설치할 때 설정했던 JEUS에 대한 로그인 ID와 패스워드를 입력한다. DAS의 Base Port는 9736이며, WebAdmin은 Base Port를 통해 접속한다.

    http://<localhost>:9736/webadmin

  3. 성공적으로 인증되었다면 다음과 같은 WebAdmin 메인 화면으로 이동한다.


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

Managed Server 추가

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

  1. WebAdmin 왼쪽 메뉴 영역의 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다. 서버를 추가하기 위해 [ADD] 버튼을 클릭한다.


    참고

    설정 내용의 동적 반영을 위해서 먼저 [LOCK & EDIT] 버튼을 클릭해서 설정변경 모드로 변경해야 한다. 설정변경 모드로 변경하지 않으면 [ADD] 버튼은 활성화되지 않는다.

  2. Server 화면에서 각 설정 항목의 값을 설정하고 [확인] 버튼을 클릭한다.


  3. 설정 내용의 동적 반영을 위해 화면 왼쪽의 [Activate Changes] 버튼을 클릭한다.

  4. 서버에 반영이 완료되면 다음과 같이 결과 메시지가 출력된다. 동적 설정으로 MS가 생성된 것을 확인할 수 있다.


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

    WebAdmin 왼쪽 메뉴의 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다. 조회된 서버 목록에서 원하는 서버를 선택하고 [Resource] > [Listener] 메뉴를 선택한다. Listeners 화면에서 'BASE' 리스너를 클릭하면 상세 정보 페이지로 이동한다.


  6. 'Listener Port' 항목을 '9736'이 아닌 다른 값으로 설정하고 [확인] 버튼을 클릭한다.


  7. 화면 왼쪽의 [Activate Changes] 버튼을 클릭해서 서버에 설정 내용을 반영한다.

HTTP 리스너 및 커넥터 설정

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

WebtoB 커넥터 설정

JEUS 8.5에서는 JEUS 6에서 내장 WebtoB를 띄워주던 ws engine이 존재하지 않는다. 따라서 내장 WebtoB를 사용하기 위해서는 WebtoB 환경 파일을 컴파일하여 내장 WebtoB를 수동으로 띄우는 과정과 WebtoB 커넥터를 추가하여 내장 WebtoB와 연결하는 과정이 필요하다.

  1. 내장 WebtoB 환경 파일($JEUS_HOME/webserver/config/ws_engine.m)을 컴파일한다.

    C:\TmaxSoft\JEUS8_5\webserver\config>wscfl -i ws_engine.m
    
    Current configuration:
            Number of client handler(HTH) = 1
            Supported maximum user per node = 2018
            Supported maximum user per handler = 2018
    
    Successfully created the configuration file (C:/TmaxSoft/JEUS8_5/webserver/config/wsconfig) for node paper-PC.
    The host name of the running machine is paper-PC.
    
    C:\TmaxSoft\JEUS8_5\webserver\config>

    참고

    기본적으로 인스톨되어 있는 내장 WebtoB의 환경 파일은 컴파일되어 있지 않기 때문에 컴파일한 후에 기동해야 한다.

  2. 내장 WebtoB를 기동한다.

    C:\TmaxSoft\JEUS8_5\webserver\config>wsboot
    
    Booting WebtoB on node (paper-PC)
    Starting WSM at 04/30/13 11:06:56
    Starting HTL at 04/30/13 11:06:56
    Starting HTH at 04/30/13 11:06:56
             Current WebtoB Configuration:
                    Number of client handlers (HTH) = 1
                    Supported maximum user per node = 2018
                    Supported maximum user per handler = 2018
    Starting SVR(C:/TmaxSoft/JEUS8/webserver/bin/htmls.exe) at 04/30/13 11:06:56
    Starting SVR(C:/TmaxSoft/JEUS8/webserver/bin/cgis.exe) at 04/30/13 11:06:56
    Starting SVR(C:/TmaxSoft/JEUS8/webserver/bin/ssis.exe) at 04/30/13 11:06:56
    
    C:\TmaxSoft\JEUS8_5\webserver\config>

  3. WebAdmin 왼쪽 메뉴의 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다.

    조회된 서버 목록에서 원하는 서버를 선택하고 [Engine] > [Web Engine] > [Web Connections] 메뉴를 선택하여 Web Connections 화면으로 이동한다. 본 예제에서는 WebtoB 커넥터 설정에 대해 설명하므로, [WEBTOB] 버튼을 클릭한다.


  4. WebtoB Connector 화면에서 'Name''WebtoB Home''Thread Pool Number' 등의 항목을 설정한다. 설정이 완료되면 [확인] 버튼을 클릭한다.


    참고

    Thread Pool Number를 설정할 때 WebtoB의 설정을 참고하여 설정할 수 있도록 한다. Installer로 설치한 후 내장 WebtoB의 설정을 변경하지 않은 경우 Thread Pool 수는 기본값인 5로 사용한다.

  5. 설정 내용의 동적 반영을 위해 화면 왼쪽의 [Activate Changes] 버튼을 클릭한다.

  6. WebtoB Connector 설정을 적용하기 위해 JEUS를 재기동한다.

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

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

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

JEUS_HOME\bin> startderby

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

JEUS_HOME\bin> stopderby

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

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

WebAdmin을 통해 MS를 기동하려면 DAS가 실행된 상태여야 한다. DAS가 실행된 상태에서 WebAdmin을 통해 MS를 기동 및 종료할 수 있다. 단, 서버에 노드 매니저가 실행되어 있거나 SSH 설정이 되어 있어야 한다. 자세한 내용은 "JEUS Node Manager 안내서"를 참고한다.

참고

Windows의 경우 SSH가 동작하지 않는다. 따라서 Windows에서는 노드 매니저를 실행한 후에 MS를 기동하도록 한다.

다음은 WebAdmin에서 MS를 기동하는 과정에 대한 설명이다.

  1. WebAdmin 왼쪽 메뉴의 [Servers]를 선택하면 서버 목록 조회 화면으로 이동한다.

    조회된 서버 목록에서 원하는 서버를 선택하고 [Resource] > [Listener] 메뉴를 선택한다. Listeners 화면에서 [ADD] 버튼을 클릭한다.

  2. 조회된 서버 목록에서 원하는 서버의 [start], [stop] 버튼을 통해 해당 서버를 기동하거나 종료할 수 있다.