제2장 JEUS 환경

내용 목차

2.1. 관리 툴
2.2. 디렉터리 구조
2.3. 환경변수
2.4. 환경설정 파일

본 장에서는 JEUS에서 사용하는 관리 툴과 디렉터리 구조와 환경변수에 대해서 설명한다. 그리고 JEUS와 관련 XML 설정 파일의 전반적인 내용에 대해서 소개한다.

2.1. 관리 툴

다음은 JEUS에 접속해서 사용하는 툴에 대한 설명이다.

설명
WebAdminJEUS의 제어, 모니터링, 관리 등의 기능을 제공하는 HTML 기반의 관리 툴이다. 자세한 내용은 "JEUS WebAdmin 안내서"를 참고한다.
startDomainAdminServerJEUS DAS를 실행하는 가장 기본적인 툴이다. 자세한 내용은 "JEUS XML Reference"를 참고한다.
startManagedServerJEUS MS를 실행하는 가장 기본적인 툴이다. 자세한 내용은 "JEUS Reference Book"을 참고한다.
jeusadmin콘솔 툴은 command prompt에서 JEUS를 관리하는 데 사용된다. 자세한 내용은 JEUS Reference Book”의 “4.2. jeusadmin”을 참고한다.

참고

위에서 언급한 것 이외에 DAS와 MS를 다운시키는 명령어가 존재한다. 자세한 내용은 "JEUS Reference Book"을 참고한다.

2.2. 디렉터리 구조

다음은 JEUS를 설치했을 때의 전체 디렉터리 구조이다.

[그림 2.1] JEUS 설치 후 디렉터리 구조

JEUS 설치 후 디렉터리 구조


다음은 디렉터리와 파일의 설명이다.

{JEUS_HOME}

JEUS의 최상위 디렉터리로 실제 디렉터리 이름과 위치는 설치할 때 결정된다.

bin

서버의 시작 및 종료 스크립트인 startDomainAdminServer, startManagedServer, stopServer와 JEUS 콘솔 툴(jeusadmin)과 같은 실행 파일들이 위치한다.

derby

샘플 애플리케이션이나 테스트에서 쉽게 사용할 수 있도록 Apache Derby를 포함시킨다.

docs

JEUS에서 제공하는 API에 대한 Javadoc이 존재한다.

lib

JEUS가 기동하는 데 필요한 라이브러리가 존재한다. shared 디렉터리를 제외한 나머지 디렉터리들은 사용자가 접근할 필요가 없다.

디렉터리설명
shared

shared 디렉터리에는 애플리케이션에서 사용하는 라이브러리가 존재한다.

shared 디렉터리의 라이브러리를 사용하려면 libraries.xml에 라이브러리의 정보를 추가해야 한다. 그리고 해당 라이브러리를 사용할 애플리케이션의 JEUS Deployment Descriptor(DD)에서 해당 라이브러리에 대한 레퍼런스 정보를 지정해야 한다. shared 라이브러리에 대한 자세한 설명은 JEUS Applications & Deployment 안내서”의 “3.3.2. 공유 라이브러리(Shared Library)”를 참고한다.

license

JEUS 라이선스 파일이 위치한다. 라이선스 파일은 JEUS가 실행되기 위해서 반드시 필요한 파일이다.

nodemanager

JEUS 노드 매니저를 위한 설정 파일인 jeusnm.xml 파일이 위치한다.

setup

JEUS 설치 후 사용할 수 있도록 환경을 구축하기 위해 필요한 파일들이 위치한다.

templates

각종 설정과 환경 등의 template 파일이 위치한다.

samples

JEUS의 예제 파일들이 위치한다.

webserver

JEUS가 설치될 때 JEUS 웹 서버가 설치되는 디렉터리이다. 자세한 내용은 "JEUS Web Engine 안내서"를 참조한다.

domains

하위에 도메인별로 DOMAIN_HOME과 JEUS_HOME에서 사용하는 노드 정보가 포함된 nodes.xml이 존재한다.

다음의 디렉터리 및 파일들은 DOMAIN_HOME 아래에 위치한다.

  • .applications

    해당 도메인에서 관리하는 애플리케이션 파일이 존재한다.

    install-application, uninstall-application 명령을 통해서만 추가 및 삭제가 가능한다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다. 각 명령어에 대한 설명은 JEUS Reference Book”의 “4.2.6.7. install-application”, JEUS Reference Book”의 “4.2.6.16. uninstall-application”을 참고한다.

  • .deploymentplans

    해당 도메인에서 관리하는 Deployment Plan 파일이 존재한다.

    install-deployment-plan, uninstall-deployment-plan 명령을 통해서만 추가 및 삭제가 가능한다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다. 각 명령어에 대한 설명은 JEUS Reference Book”의 “4.2.6.8. install-deployment-plan”, JEUS Reference Book”의 “4.2.6.17. uninstall-deployment-plan”을 참고한다.

  • .libraries

    해당 도메인에서 관리하는 라이브러리 파일이 존재한다.

    install-application, uninstall-application 명령을 통해서만 추가 및 삭제가 가능한다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다. 각 명령어에 대한 설명은 JEUS Reference Book”의 “4.2.6.7. install-application”, JEUS Reference Book”의 “4.2.6.16. uninstall-application”을 참고한다.

  • bin

    해당 도메인에 속한 DAS와 MS의 시작 및 종료 스크립트가 위치한다. JEUS_HOME/bin의 startDomainAdminServer, startManagedServer, stopServer와 동일한 기능을 수행하지만 도메인 이름을 설정할 필요가 없다.

  • config

    도메인의 설정 파일인 domain.xml이 변경된 경우 이전 이력을 위해 존재하는 백업 파일들이 위치한다. 도메인 설정에 대한 자세한 설명은 JEUS Domain 안내서”의 “제3장 도메인 설정변경”을 참고한다.

    구분설명
    security
    • SYSTEM_DOMAIN : 도메인 단위로 적용되는 보안 도메인 파일인 accounts.xml, policies.xml이 존재하며, 각 XML 파일은 WebAdmin과 jeusadmin을 통해 동적 설정 변경이 가능하다. 보안 도메인 설정에 대한 자세한 설명은 JEUS Security 안내서”의 “2.2. 보안 도메인 정의”를 참고한다.

    • security.key : 대칭키 암호화 알고리즘에 대한 Key를 저장하는 파일로 JEUS_HOME/bin/encryption을 수행하면 생성된다. security.key 파일에 대한 자세한 설명은 JEUS Security 안내서”의 “2.5.4. 패스워드 보안 설정”을 참고한다.

    • policy : Java permission 설정 파일이다. JEUS의 보안 시스템과는 별도로 Java SE Security Manager에서 사용된다.

    servlet
    • web.xml : web.xml을 개별적으로 가지고 있지 않은 경우 웹 엔진이 사용할 웹 모듈의 web.xml이다. 기본값은 빈 XML 파일이다.

    • webcommon.xml : 도메인 내 서버의 웹 엔진의 모든 웹 모듈에 적용되는 공통 설정 파일이다. 설정에 대한 자세한 설명은 JEUS Web Engine 안내서”의 “1.5. 디렉터리 구조”를 참고한다.

  • lib/application

    도메인 전체에 적용하고 싶은 애플리케이션 라이브러리를 위치시키는 디렉터리다.

    SERVER_HOME에 존재하는 애플리케이션 라이브러리와 충돌이 발생할 경우 SERVER_HOME/lib/application이 우선되고 경고 메시지가 남는다. lib/application 디렉터리에 대한 자세한 설명은 JEUS Applications & Deployment 안내서”의 “3.3.1. lib/application 디렉터리”를 참고한다.

  • servers

    이 디렉터리 하위에 SERVER_HOME 디렉터리가 서버 이름으로 생성된다. SERVER_HOME 디렉터리 구조에 대한 자세한 설명은 JEUS Server 안내서”의 “1.5. 서버 디렉터리 구조”를 참고한다.

    디렉터리설명
    .workspaceJEUS가 사용하는 서버별 공간으로 사용자가 변경해서는 안 된다.
    bin

    서버의 시작/종료 스크립트를 포함하고 있다. JEUS_HOME/bin의 스크립트와 동일한 기능을 수행하지만 도메인 이름과 서버 이름을 설정할 필요가 없다.

    • DAS일 경우 : startDomainAdminServer/stopServer가 존재한다.

    • MS일 경우 : startManagedServer/stopserver가 존재한다.

    lib/application

    서버에 적용하고 싶은 애플리케이션 라이브러리가 존재한다. 도메인 범위의 라이브러리(DOMAIN_HOME/lib/application)보다 우선순위가 높다. 라이브러리가 충돌할 경우 이 디렉터리에 존재하는 파일이 적용되며 경고 메시지가 남는다.

    lib/application에 대한 자세한 설명은 JEUS Applications & Deployment 안내서”의 “3.3.1. lib/application 디렉터리”를 참고한다.

    logs서버의 Launcher 로그, 서버 로그, 엑세스 로그 파일이 남는다. 자세한 내용은 JEUS Server 안내서”의 “제8장 Logging”을 참고한다.
    nodemanager노드 매니저가 재기동할 때 관리하고 있던 서버였는지를 판단하기 위한 정보를 저장하는 디렉터리이다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다.

2.3. 환경변수

환경변수는 모두 JEUS_HOM\bin\jeus.properties에 설정되어 있으며, JEUS_HOME\bin 디렉터리의 모든 스크립트에서 사용된다.

다음은 JEUS에서 사용하는 환경변수이다.

환경변수내용
JEUS_HOME

JEUS가 설치된 홈 디렉터리로 필수 사항이다.

(예: JEUS_HOME=/home/jeus/jeus8)

JAVA_HOME

JDK의 홈 디렉터리이다.

(예: JAVA_HOME=/usr/jdk1.7)

해당 변수는 필요한 경우 수정해서 사용한다. 단, XML 설정 파일에서는 이들 환경변수를 사용할 수 없다. 모든 환경변수는 설치할 때 기본값으로 설정된다. 대부분의 경우 설정된 값을 그대로 사용하면 된다.

참고

환경변수를 변경하는 방법은 OS에 따라 다르므로, 이에 대해서는 각 OS 안내서를 참고한다.

2.4. 환경설정 파일

JEUS는 환경설정을 위해서 각각 고유의 XML 포맷을 사용하며, 직접 수정하거나 툴을 사용해서 수정할 수 있다.

다음은 JEUS의 XML 설정 파일과 내용, 위치를 정리한 내용이다.

  • domain.xml (jeus-domain.xsd, ejb-engine.xsd, web-engine.xsd, jms-engine.xsd)

    위치JEUS_HOME/domains/<domain_name>/config/
    목적JEUS Manager와 노드를 관리하는 기본 설정 파일이다.
    참고 안내서JEUS Domain 안내서, JEUS Server 안내서
  • jeusnm.xml (jeus-nodemanager.xsd)

    위치JEUS_HOME/nodemanager
    목적노드에서 노드 매니저의 동작방식을 설정하는 파일이다.
    참고 안내서JEUS Node Manager 안내서
  • jeus-web-dd.xml (jeus-web-dd.xsd)

    위치웹 애플리케이션 Archive의 WEB-INF
    설명JEUS 웹 애플리케이션(Servlet app) DD(Deployment Descriptors) 파일이다.
    참고 안내서JEUS Web Engine 안내서
  • jeus-ejb-dd.xml (jeus-ejb-dd.xsd)

    위치EJB 애플리케이션 Archive의 META-INF
    설명JEUS EJB Module DD(Deployment Descriptors) 파일이다.
    참고 안내서JEUS EJB 안내서
  • jeus-client-dd.xml (jeus-client-dd.xsd)

    위치클라이언트 애플리케이션 Archive의 WEB-INF
    설명애플리케이션 클라이언트 DD(Deployment Descriptors) 파일이다.
    참고 안내서JEUS Application Client 안내서
  • jeus-connector-dd.xml (jeus-connector-dd.xsd)

    위치리소스 어댑터 Archive의 META-INF
    설명리소스 어댑터 DD(Deployment Descriptors) 파일이다.
    참고 안내서JEUS JCA 안내서
  • policies.xml (policies.xsd)

    위치JEUS_HOME/domains/<domainname>/config/security
    설명JEUS Security 정책을 설정한 파일이다.
    참고 안내서JEUS Security 안내서
  • accounts.xml (accounts.xsd)

    위치JEUS_HOME/domains/<domainname>/config/security
    설명JEUS Security 계정을 설정한 파일이다.
    참고 안내서JEUS Security 안내서
  • jeus-web-dd.xml (jeus-web-dd.xsd), jeus-ejb-dd.xml (jeus-ejb-dd.xsd), jeus-client-dd.xml (jeus-client-dd.xsd)

    위치Webservice client archive의 META-INF
    설명웹 서비스 클라이언트 정보를 설정한 파일이다.
    참고 안내서JEUS Web Service 안내서
  • jeus-webservices-config.xml (jeus-webservices-config.xsd)

    위치Webservice client archive의 META-INF
    설명웹 서비스 클라이언트 Ant Task에서 사용하는 설정 파일이다.
    참고 안내서JEUS Web Service 안내서

참고

1. Java EE의 표준 Descriptor 파일인 web.xml이나 ejb-jar.xml 파일도 사용된다. 각 파일은 해당 Java EE 스펙을 참고한다.

2. 모든 XML Schema 파일은 JEUS_HOME/lib/schemas/jeus/에 위치한다.