【发布时间】:2015-05-03 11:52:10
【问题描述】:
我正在尝试在 CentOS 6.5 上设置 JBoss 7.2.0 Final 来处理我们软件的 4 种不同部署。我不确定我的设置是否正确,但一切似乎都正常,除了 server.log 没有结束,我认为我告诉它要保存在 4 个部署中的 3 个中。
有 4 个 HTTP 端口用于部署。它们是:8080、:8180、:9876 和:9976。我不知道这是否是相关信息,但我提出来是因为在每个standalone.xml 文件中我使用jboss.socket.binding.port-offset 选项来分配端口。似乎可以完美运行的唯一部署是:8080,它有jboss.socket.binding.port-offset:0。 :8180 有 jboss.socket.binding.port-offset:100 等。
例如,每个部署都位于自己的目录中
/opt/jboss-eap-6.1/target/standalone8080/
和
/opt/jboss-eap-6.1/target/standalone9876/
在每个部署的standalone.xml 文件中(例如/opt/jboss-eap-6.1/target/standalone9876/configuration/standalone.xml),服务器日志的指定方式相同:
<file relative-to="jboss.server.log.dir" path="server.log"/>
这应该会导致 server.log 被保存在,例如,
/opt/jboss-eap-6.1/target/standalone9876/log,
并且在每个端口上重新部署软件时,我已经回显了 $JBOSS_LOG_DIR 变量,并且表面上似乎在每种情况下都正确设置。
但是,如上所述,仅端口:8080 在预期位置(/opt/jboss-eap-6.1/target/standalone8080/log)创建server.log 文件。
位置不正确:
--Port :8180 将其server.log 文件放在:8080 位置。即,:8180 会覆盖位于/opt/jboss-eap-6.1/target/standalone8080/log 的server.log 文件。
--端口:9876将其server.log文件放入/opt/jboss-eap-6.1/target/standalone/log。即,它会创建一个名为 standalone 的新文件夹并将文件放在那里。我要补充一点,在以前,整个端口 :9876 部署位于该路径 (/opt/jboss-eap-6.1/target/standalone) 的文件夹中。这个明显的线索让我觉得还有其他地方可以设置server.log 文件路径。我可能完全错了。
--最后,:9976 端口将其 server.log 文件放在所需的log 目录之上一级,换句话说,在/opt/jboss-eap-6.1/target/standalone9976。
我不知道这 4 种部署的处理方式是否根本不正确,或者是否有隐藏在某处的设置覆盖了我想要的路径。
我看到 one poster 遇到类似问题,说他们对 domain.xml 进行了更改以解决问题。我认为我做不到,因为我只有一个与所有 4 个部署相关联的 domain.xml 文件(位于 /opt/jboss-eap-6.1/domain/configuration)。
Another post 建议删除standalone.xml 文件中<file> 标记中的“相对”位。我尝试使用端口:9876 如下:
<file path="/opt/jboss-eap-6.1/target/standalone9876/log/server.log"/>
这对我不起作用。 server.log 文件仍然在
<file path="/opt/jboss-eap-6.1/target/standalone/log/server.log"/>
任何想法我做错了什么?我需要在另一个地方声明我的日志路径,还是这 4 个服务器的设置方式完全不正确?
【问题讨论】: