You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过jboss-cli为WildFly 12添加主机条目?解决重复模块报错

关于WildFly jboss-cli的两个主机相关问题解答

我来帮你梳理这两个问题,顺便解决你碰到的报错:


1. 通过jboss-cli添加域模式下的主机(Host Controller)

如果你的WildFly是运行在域架构下,要添加新的主机(Host Controller),可以按以下步骤操作:

  • 首先准备好目标主机的WildFly环境:
    编辑目标主机的domain/configuration/host-slave.xml(或自定义host配置文件),确保配置了连接域控制器的参数,比如在<remote>节点中指定域控制器的地址和端口。
  • 启动目标主机的Host Controller:
    ./domain.sh -c host-slave.xml
    
  • 登录到域控制器的jboss-cli,执行命令添加主机条目:
    # 基础添加命令,指定主机名和管理端口
    /host=my-new-host:add(management-native-interface={port=9999})
    
    # 如果需要关联特定服务器组,可以加上server-configs参数
    /host=my-new-host:add(server-configs=[server-one, server-two], management-native-interface={port=9999})
    
  • 注意:首次添加主机前,需要在域控制器的domain/configuration/mgmt-users.properties中添加目标主机的管理用户,确保认证通过。

2. 通过jboss-cli为WildFly 12的Undertow添加虚拟主机条目(解决你的重复ROOT.war报错)

你遇到的WFLYUT0087: Duplicate default web module 'ROOT.war'报错,原因是:默认情况下,新添加的Undertow虚拟主机会继承服务器的默认web模块(ROOT.war),而原有的default-host已经绑定了这个模块,导致冲突。

下面是正确的操作步骤和报错解决方法:

方法一:添加主机时禁用默认web模块继承

直接在添加命令中指定default-web-module=undefined,避免自动绑定ROOT.war:

/subsystem=undertow/server=default-server/host=127.0.0.10:add(alias=["127.0.0.10"], default-web-module=undefined)

添加完成后,你可以手动给这个虚拟主机部署web应用,或者后续再配置它的默认模块。

方法二:为新主机指定独立的默认web模块

如果你想让新虚拟主机使用自己的默认应用,可以先部署一个新的war包(比如my-custom-root.war),然后添加主机时指定这个模块:

# 先部署自定义默认应用
deploy /path/to/my-custom-root.war

# 添加虚拟主机并指定默认模块
/subsystem=undertow/server=default-server/host=127.0.0.10:add(alias=["127.0.0.10"], default-web-module=my-custom-root.war)

补充:查看和验证虚拟主机配置

添加完成后,可以用以下命令查看配置是否生效:

/subsystem=undertow/server=default-server/host=127.0.0.10:read-resource

内容的提问来源于stack exchange,提问作者Otávio Garcia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:38:44