3.7. 파일 시스템 경로

JBoss EAP는 파일 시스템 경로에 논리적 이름을 사용합니다. 구성의 다른 영역은 논리 이름을 사용하여 경로를 참조할 수 있으므로 각 인스턴스에 절대 경로를 사용할 필요가 없으며 특정 호스트 구성이 범용 논리 이름으로 확인할 수 있습니다.

예를 들어 기본 로깅 하위 시스템 구성은 서버 로그 디렉터리의 논리적 이름으로 jboss.server.log.dir 을 선언합니다.

예제: 서버 로그 디렉토리의 상대 경로 예

<file relative-to="jboss.server.log.dir" path="server.log"/>

JBoss EAP는 사용자가 구성 파일에서 구성할 필요 없이 다양한 표준 경로를 자동으로 제공합니다.

표 3.5. 표준 경로

속성설명

java.home

Java 설치 디렉터리

jboss.controller.temp.dir

독립 실행형 서버 및 관리형 도메인의 공통 별칭. 임시 파일 스토리지에 사용할 디렉터리입니다. 관리형 도메인의 jboss.domain.temp.dir 및 독립 실행형 서버의 jboss.server.temp.dir 에 해당합니다.

jboss.domain.base.dir

도메인 콘텐츠의 기본 디렉터리입니다.

jboss.domain.config.dir

도메인 구성이 포함된 디렉터리입니다.

jboss.domain.data.dir

도메인이 영구 데이터 파일 스토리지에 사용할 디렉터리입니다.

jboss.domain.log.dir

도메인에서 영구 로그 파일 스토리지에 사용할 디렉터리입니다.

jboss.domain.temp.dir

도메인에서 임시 파일 스토리지에 사용할 디렉터리입니다.

jboss.domain.deployment.dir

도메인에서 배포된 콘텐츠를 저장하는 데 사용할 디렉터리입니다.

jboss.domain.servers.dir

도메인이 관리형 도메인 인스턴스의 출력을 저장하는 데 사용할 디렉터리입니다.

jboss.home.dir

JBoss EAP 배포의 루트 디렉터리입니다.

jboss.server.base.dir

독립 실행형 서버 콘텐츠의 기본 디렉터리입니다.

jboss.server.config.dir

독립 실행형 서버 구성이 포함된 디렉터리입니다.

jboss.server.data.dir

독립 실행형 서버가 영구 데이터 파일 스토리지에 사용할 디렉터리입니다.

jboss.server.log.dir

독립 실행형 서버가 로그 파일 스토리지에 사용할 디렉터리입니다.

jboss.server.temp.dir

독립 실행형 서버가 임시 파일 스토리지에 사용할 디렉터리입니다.

jboss.server.deploy.dir

독립 실행형 서버가 배포된 콘텐츠를 저장하는 데 사용할 디렉터리입니다.

user.dir

사용자의 현재 작업 디렉터리.

user.home

사용자 홈 디렉터리.

표준 경로를 재정의하거나 사용자 정의 경로를 추가할 수 있습니다.

3.7.1. 파일 시스템 경로보기

다음 관리 CLI 명령을 사용하여 파일 시스템 경로를 나열합니다.

ls /path
참고

관리형 도메인에서는 다음 관리 CLI 명령을 사용하여 특정 서버의 파일 시스템 경로를 나열할 수 있습니다.

ls /host=HOST_NAME/server=SERVER_NAME/path

다음 관리 CLI 명령을 사용하여 파일 시스템 경로 값을 읽습니다.

/path=PATH_NAME:read-resource
참고

관리형 도메인에서는 다음 관리 CLI 명령을 사용하여 특정 서버의 파일 시스템 경로 값을 읽을 수 있습니다.

/host=HOST_NAME/server=SERVER_NAME/path=PATH_NAME:read-resource

3.7.2. 표준 경로 덮어쓰기

jboss.server.* 또는 jboss.domain.* 로 시작하는 표준 경로의 기본 위치를 재정의할 수 있습니다. 다음 두 가지 방법 중 하나로 수행할 수 있습니다.

  • 서버를 시작할 때 명령줄 인수를 전달합니다. 예를 들면 다음과 같습니다.

    $ EAP_HOME/bin/standalone.sh -Djboss.server.log.dir=/var/log
  • 서버 구성 파일인 standalone.conf 또는 domain.conf 에서 새 위치를 포함하도록 JAVA_OPTS 변수를 수정합니다. 예를 들면 다음과 같습니다.

    JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=/var/log"
관리형 도메인의 표준 경로 재정의

이 예제에서 목표는 도메인 파일을 /opt/jboss_eap/domain_data 디렉터리에 저장하고 각 최상위 디렉터리에 사용자 지정 이름을 지정하는 것입니다. 기본 디렉터리 그룹 by-server 가 사용됩니다.

  • 로그 파일은 all_logs 하위 디렉토리에 저장해야 합니다
  • 데이터 파일은 all_data 하위 디렉토리에 저장해야 합니다
  • 임시 파일은 all_temp 하위 디렉토리에 저장해야 합니다
  • 서버의 파일은 all_servers 하위 디렉토리에 저장해야 합니다.

이 구성을 수행하려면 JBoss EAP를 시작할 때 여러 시스템 속성을 재정의해야 합니다.

$ EAP_HOME/bin/domain.sh -Djboss.domain.temp.dir=/opt/jboss_eap/domain_data/all_temp -Djboss.domain.log.dir=/opt/jboss_eap/domain_data/all_logs -Djboss.domain.data.dir=/opt/jboss_eap/domain_data/all_data -Djboss.domain.servers.dir=/opt/jboss_eap/domain_data/all_servers

결과 경로 구조는 다음과 같습니다.

/opt/jboss_eap/domain_data/
               ├── all_data
               ├── all_logs
               ├── all_servers
               │   ├── server-one
               │   │   ├── data
               │   │   ├── log
               │   │   └── tmp
               │   └── server-two
               │       ├── data
               │       ├── log
               │       └── tmp
               └── all_temp

3.7.3. 사용자 정의 경로 추가

관리 CLI 또는 관리 콘솔을 사용하여 사용자 지정 파일 시스템 경로를 추가할 수 있습니다.

  • 관리 CLI에서 다음 관리 CLI 명령을 사용하여 새 경로를 추가할 수 있습니다.

    /path=my.custom.path:add(path=/my/custom/path)
  • 관리 콘솔에서 Configuration (구성) 탭으로 이동하고 Paths (경로)를 선택하고 View (보기)를 클릭하여 파일 시스템 경로를 구성할 수 있습니다. 여기에서 경로를 추가, 수정 및 제거할 수 있습니다.

그런 다음 이 사용자 지정 경로를 구성에서 사용할 수 있습니다. 예를 들어 아래 로그 핸들러는 상대 경로에 사용자 지정 경로를 사용합니다.

<subsystem xmlns="urn:jboss:domain:logging:6.0">
  ...
  <periodic-rotating-file-handler name="FILE" autoflush="true">
    <formatter>
      <named-formatter name="PATTERN"/>
    </formatter>
    <file relative-to="my.custom.path" path="server.log"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
  </periodic-rotating-file-handler>
  ...
</subsystem>