3.6. ファイルシステムパス
JBoss EAP はファイルシステムパスに論理名を使用します。他の設定は論理名を使用してパスを参照できます。そのため、各インスタンスに完全パスを使用する必要がなく、特定のホスト設定が汎用論理名に解決することができます。
たとえば、デフォルトの logging
サブシステム設定は 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 Development Kit 拡張ディレクトリーパス。 |
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.*
で始まる標準パスのデフォルトの場所を上書きできます。これには 2 つの方法があります。
サーバーの起動時にコマンドライン引数を渡します。以下に例を示します。
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>
タイプを基にしたディレクトリーのグループ化
サーバーを基にディレクトリーをグループ化する代わりに、ファイルタイプを基にしてグループ化することもできます。管理作業がファイルタイプ中心である場合は、この設定が推奨されます。たとえば、data
ファイルのみを簡単にバックアップすることができます。
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>