3.7. 文件系统路径
JBoss EAP 将逻辑名称用于文件系统路径。然后,其他配置区域可以使用其逻辑名称引用路径,从而避免为每个实例使用绝对路径,并允许特定主机配置解析为通用逻辑名称。
例如,默认的 logging 子系统配置将 jboss.server.log.dir 声明为服务器日志目录的逻辑名称。
示例:服务器日志目录的相对路径示例
<file relative-to="jboss.server.log.dir" path="server.log"/>
JBoss EAP 自动提供多个标准路径,用户无需在配置文件中进行配置。
| 属性 | 描述 |
|---|---|
| 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.7.1. 查看文件系统路径 复制链接链接已复制到粘贴板!
使用以下命令列出文件系统路径:
ls /path
在受管域中,您可以使用以下命令列出特定服务器的文件系统路径:
ls /host=HOST_NAME/server=SERVER_NAME/path
使用以下命令来读取文件系统路径的值:
/path=PATH_NAME:read-resource
在受管域中,您可以使用以下命令读取特定服务器的文件系统路径值:
/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.confJAVA_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 选项卡、选择 路径并单击 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>