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 prerequisites 或 。这可以通过以下两种方式之一完成:
				jboss. domainadtrust 开头的标准路径的默认位置
- 启动服务器时传递命令行参数。例如: - EAP_HOME/bin/standalone.sh -Djboss.server.log.dir=/var/log - $ EAP_HOME/bin/standalone.sh -Djboss.server.log.dir=/var/log- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 修改服务器配置文件( - standalone.conf或- domain.conf)中的- JAVA_OPTS变量。例如:- JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=/var/log" - JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=/var/log"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
覆盖受管域的标准路径
					在本例中,目标是将域文件存储在 /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生成的路径结构如下:
3.6.2. 添加自定义路径
您可以使用管理 CLI 或管理控制台添加自定义文件系统路径。
- 通过管理 CLI,您可以使用以下管理 CLI 命令添加新路径。 - /path=my.custom.path:add(path=/my/custom/path) - /path=my.custom.path:add(path=/my/custom/path)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在管理控制台中,您可以通过导航到 Configuration 选项卡并选择 Paths 来配置文件系统路径。在这里,您可以添加、修改和删除路径。
然后您可以在配置中使用此自定义路径。例如,以下日志处理程序为其相对路径使用自定义路径。
3.6.3. 目录分组
					在受管域中,每台服务器的文件存储在 EAP_HOME/domain 目录中。您可以使用主机控制器的 directory-grouping 属性来指定如何为服务器组织子目录。目录可以按 服务器 分组,或者 按类型 进行分组。默认情况下,目录按 服务器 分组。
				
按服务器划分的目录
默认情况下,目录按服务器分组。如果您的管理是以 服务器为中心的,则建议使用此配置。例如,它允许为每个服务器实例配置备份和日志文件处理。
如果使用 ZIP 安装方法安装 JBoss EAP,则默认目录结构(按服务器分组)将如下所示:
要按服务器对域目录进行分组,请输入以下管理 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 配置文件:
				
按类型划分的目录
					您可以使用文件类型对目录进行分组,而不是按服务器对目录进行分组。如果您的管理是以 类型为中心的文件,则建议使用此配置。例如,这可让您只 备份数据 文件。
				
如果使用 ZIP 安装方法安装 JBoss EAP,并且域的文件按类型分组,则目录结构将如下所示:
要根据类型对域目录进行分组,请输入以下管理 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 配置文件: