如何为不同的 WildFly 实例设置 JBOSS_BASE_DIR?
How to set JBOSS_BASE_DIR for different WildFly instances?
我的设置
我目前 运行在 Linux 机器上安装 2 个 WildFly 9.0.0.CR1 实例。
我有设置一切的安装脚本。除了现有的 standalone
文件夹外,它还会创建一个 sim_standalone
文件夹,并复制到 sim-standalone-full.xml
文件中(此文件将端口号偏移 100)。
它们都作为服务安装在 /etc/init.d/wildfly
和 /etc/init.d/sim-wildfly
下,sim-wildfly
被调整为使用不同的配置文件(它指向 sim_standalone
文件夹和使用 sim-standalone-full.xml
文件而不是 standalone
和 standalone-full.xml
).
我的问题
我现在遇到的唯一问题是 wildfly
和 sim-wildfly
都在使用 JBOSS_HOME/bin/standalone.sh
文件到 运行。这会导致问题,因为 JBOSS_BASE_DIR
指向 standalone
文件夹,导致日志重叠并从该文件夹读取两个实例的部署。
我目前的解决方案是创建另一个standalone.sh
文件并将JBOSS_BASE_DIR
更改为sim_standalone
文件夹;但是,我想知道是否有一种方法可以在我现有的一个文件中设置 JBOSS_BASE_DIR
而无需创建另一个 standalone.sh
文件。我尝试在 sim-wildfly.conf
中设置它,因为那里有许多其他变量,但那没有用。
如有任何帮助,我们将不胜感激!
编辑:所以我的 /etc/init.d/sim-wildfly
脚本 运行s standalone.sh
。它通过设置来设置脚本:
JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh
我正在尝试将其设置为:
JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh -Djboss.server.base.dir=$JBOSS_HOME/sim_standalone
...但这似乎不起作用。当我 运行 systemctl status sim-wildfly
时它说 Djboss.server.base.dir=$JBOSS_HOME/sim_standalone
不是文件或目录。我也尝试用引号引起来。我错过了什么?
设置jboss.server.base.dir
属性,例如通过调用
standalone.sh -Djboss.server.base.dir=/opt/server1
linux服务通过/etc/default/wildflyX配置(X表示可能有多个),通过/etc/init执行。d/wildfly*
然后在配置文件中设置:/etc/default/wildflyX
JBOSS_OPTS="--debug 38787 -Djboss.server.base.dir=$JBOSS_HOME/standalone-internet-booking"
--debug PORT
是如果你使用调试端口(记得在/bin/standalone.conf中禁用,否则它会覆盖)。
不要将 JBOSS_MODE=standalone 模式重命名为 standaloneX,因为 init.d 脚本将 运行 域设置,如果它不是完全独立的话。
我的设置
我目前 运行在 Linux 机器上安装 2 个 WildFly 9.0.0.CR1 实例。
我有设置一切的安装脚本。除了现有的 standalone
文件夹外,它还会创建一个 sim_standalone
文件夹,并复制到 sim-standalone-full.xml
文件中(此文件将端口号偏移 100)。
它们都作为服务安装在 /etc/init.d/wildfly
和 /etc/init.d/sim-wildfly
下,sim-wildfly
被调整为使用不同的配置文件(它指向 sim_standalone
文件夹和使用 sim-standalone-full.xml
文件而不是 standalone
和 standalone-full.xml
).
我的问题
我现在遇到的唯一问题是 wildfly
和 sim-wildfly
都在使用 JBOSS_HOME/bin/standalone.sh
文件到 运行。这会导致问题,因为 JBOSS_BASE_DIR
指向 standalone
文件夹,导致日志重叠并从该文件夹读取两个实例的部署。
我目前的解决方案是创建另一个standalone.sh
文件并将JBOSS_BASE_DIR
更改为sim_standalone
文件夹;但是,我想知道是否有一种方法可以在我现有的一个文件中设置 JBOSS_BASE_DIR
而无需创建另一个 standalone.sh
文件。我尝试在 sim-wildfly.conf
中设置它,因为那里有许多其他变量,但那没有用。
如有任何帮助,我们将不胜感激!
编辑:所以我的 /etc/init.d/sim-wildfly
脚本 运行s standalone.sh
。它通过设置来设置脚本:
JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh
我正在尝试将其设置为:
JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh -Djboss.server.base.dir=$JBOSS_HOME/sim_standalone
...但这似乎不起作用。当我 运行 systemctl status sim-wildfly
时它说 Djboss.server.base.dir=$JBOSS_HOME/sim_standalone
不是文件或目录。我也尝试用引号引起来。我错过了什么?
设置jboss.server.base.dir
属性,例如通过调用
standalone.sh -Djboss.server.base.dir=/opt/server1
linux服务通过/etc/default/wildflyX配置(X表示可能有多个),通过/etc/init执行。d/wildfly*
然后在配置文件中设置:/etc/default/wildflyX
JBOSS_OPTS="--debug 38787 -Djboss.server.base.dir=$JBOSS_HOME/standalone-internet-booking"
--debug PORT
是如果你使用调试端口(记得在/bin/standalone.conf中禁用,否则它会覆盖)。
不要将 JBOSS_MODE=standalone 模式重命名为 standaloneX,因为 init.d 脚本将 运行 域设置,如果它不是完全独立的话。