3.6. 파일 시스템 경로
JBoss EAP는 파일 시스템 경로에 논리 이름을 사용합니다. 그런 다음 구성의 다른 영역은 논리 이름을 사용하여 경로를 참조할 수 있으므로 각 인스턴스에 절대 경로를 사용할 필요가 없으며 특정 호스트 구성이 범용 논리 이름으로 확인되도록 할 수 있습니다.
예를 들어 기본 로깅
하위 시스템 구성은 jboss.server.log.dir
을 서버 로그 디렉터리의 논리 이름으로 선언합니다.
예: 서버 로그 디렉터리에 대한 상대 경로 예
<file relative-to="jboss.server.log.dir" path="server.log"/>
<file relative-to="jboss.server.log.dir" path="server.log"/>
JBoss EAP는 사용자가 구성 파일에서 구성할 필요 없이 다양한 표준 경로를 자동으로 제공합니다.
속성 | 설명 |
---|---|
java.ext.dirs | Java 개발 키트 확장 디렉터리 경로. |
java.home | Java 설치 디렉터리 |
jboss.controller.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.6.1. 표준 경로 덮어쓰기
jboss.server.*
또는 jboss.domain.*
로 시작하는 표준 경로의 기본 위치를 덮어쓸 수 있습니다. 이 작업은 다음 두 가지 방법 중 하나로 수행할 수 있습니다.
서버를 시작할 때 명령줄 인수를 전달합니다. 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow EAP_HOME/bin/standalone.sh -Djboss.server.log.dir=/var/log
$ EAP_HOME/bin/standalone.sh -Djboss.server.log.dir=/var/log
서버 구성 파일(
standalone.conf
또는domain.conf
)에서JAVA_OPTS
변수를 수정합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=/var/log"
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
$ 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
/opt/jboss_eap/domain_data/
├── all_data
├── all_logs
├── all_servers
│ ├── server-one
│ │ ├── data
│ │ ├── log
│ │ └── tmp
│ └── server-two
│ ├── data
│ ├── log
│ └── tmp
└── all_temp
3.6.2. 사용자 정의 경로 추가
관리 CLI 또는 관리 콘솔을 사용하여 사용자 정의 파일 시스템 경로를 추가할 수 있습니다.
관리 CLI에서 다음 관리 CLI 명령을 사용하여 새 경로를 추가할 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /path=my.custom.path:add(path=/my/custom/path)
/path=my.custom.path:add(path=/my/custom/path)
- 관리 콘솔에서 구성 탭으로 이동한 후 경로를 선택하여 파일 시스템 경로를 구성할 수 있습니다. 여기에서 경로를 추가, 수정 및 제거할 수 있습니다.
그런 다음 구성에서 이 사용자 지정 경로를 사용할 수 있습니다. 예를 들어 아래 로그 처리기는 상대 경로에 사용자 지정 경로를 사용합니다.
<subsystem xmlns="urn:jboss:domain:logging:3.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>
<subsystem xmlns="urn:jboss:domain:logging:3.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>
3.6.3. 디렉터리 그룹화
관리형 도메인에서 각 서버의 파일은 EAP_HOME/domain
디렉터리에 저장됩니다. 호스트 컨트롤러의 directory-grouping
특성을 사용하여 서버의 하위 디렉터리를 구성하는 방법을 지정할 수 있습니다. 디렉터리는 서버 또는 유형 별로 그룹화할 수 있습니다. 기본적으로 디렉터리는 서버로 그룹화됩니다.
서버별 디렉터리 그룹화
기본적으로 디렉터리는 서버로 그룹화됩니다. 관리가 서버 중심적인 경우 이 구성을 사용하는 것이 좋습니다. 예를 들어 서버 인스턴스별로 백업 및 로그 파일 처리를 구성할 수 있습니다.
ZIP 설치 방법을 사용하여 JBoss EAP를 설치하는 경우 기본 디렉터리 구조(서버별로 그룹화)는 다음과 같습니다.
EAP_HOME/domain └─ servers ├── server-one │ ├── data │ ├── tmp │ └── log └── server-two ├── data ├── tmp └── log
EAP_HOME/domain
└─ servers
├── server-one
│ ├── data
│ ├── tmp
│ └── log
└── server-two
├── data
├── tmp
└── log
서버별 도메인 디렉터리를 그룹화하려면 다음 관리 CLI 명령을 입력합니다.
/host=HOST_NAME:write-attribute(name=directory-grouping,value=by-server)
/host=HOST_NAME:write-attribute(name=directory-grouping,value=by-server)
그러면 호스트 컨트롤러의 host.xml
구성 파일이 업데이트됩니다.
<servers directory-grouping="by-server"> <server name="server-one" group="main-server-group"/> <server name="server-two" group="main-server-group" auto-start="true"> <socket-bindings port-offset="150"/> </server> </servers>
<servers directory-grouping="by-server">
<server name="server-one" group="main-server-group"/>
<server name="server-two" group="main-server-group" auto-start="true">
<socket-bindings port-offset="150"/>
</server>
</servers>
유형별 디렉터리 그룹화
디렉토리를 서버별로 그룹화하는 대신 파일 유형별로 그룹화할 수 있습니다. 관리가 파일 유형 중심적인 경우 이 구성을 사용하는 것이 좋습니다. 예를 들어 데이터
파일만 쉽게 백업할 수 있습니다.
ZIP 설치 방법을 사용하여 JBoss EAP를 설치하고 도메인의 파일이 유형별로 그룹화되는 경우 디렉토리 구조는 다음과 같습니다.
EAP_HOME/domain ├── data │ └── servers │ ├── server-one │ └── server-two ├── log │ └── servers │ ├── server-one │ └── server-two └── tmp └── servers ├── server-one └── server-two
EAP_HOME/domain
├── data
│ └── servers
│ ├── server-one
│ └── server-two
├── log
│ └── servers
│ ├── server-one
│ └── server-two
└── tmp
└── servers
├── server-one
└── server-two
도메인 디렉터리를 유형별로 그룹화하려면 다음 관리 CLI 명령을 입력합니다.
/host=HOST_NAME:write-attribute(name=directory-grouping,value=by-type)
/host=HOST_NAME:write-attribute(name=directory-grouping,value=by-type)
그러면 호스트 컨트롤러의 host.xml
구성 파일이 업데이트됩니다.
<servers directory-grouping="by-type"> <server name="server-one" group="main-server-group"/> <server name="server-two" group="main-server-group" auto-start="true"> <socket-bindings port-offset="150"/> </server> </servers>
<servers directory-grouping="by-type">
<server name="server-one" group="main-server-group"/>
<server name="server-two" group="main-server-group" auto-start="true">
<socket-bindings port-offset="150"/>
</server>
</servers>