第 10 章 嵌入服务器以进行离线配置


您可以在管理 CLI 进程中嵌入 JBoss EAP 单机服务器或主机控制器流程。这可让您配置服务器,而无需它在网络中可见。此功能的常见用途是服务器的初始配置,例如在服务器在线之前管理与安全相关的设置或避免端口冲突。

这种通过管理 CLI 对 JBoss EAP 安装进行直接的本地管理不需要基于套接字的连接。您可以通过与远程 JBoss EAP 服务器交互的方式将管理 CLI 与嵌入式服务器配合使用。所有可用于管理远程服务器的标准管理 CLI 命令都可用。

启动嵌入式单机服务器

您可以使用管理 CLI 在本地启动单机服务器,以修改独立配置,而无需启动附加进程或打开网络套接字。

以下过程将启动管理 CLI,启动嵌入的单机服务器,修改配置,然后停止嵌入的服务器。

  1. 启动管理 CLI。

    $ EAP_HOME/bin/jboss-cli.sh
  2. 启动嵌入式单机服务器。

    传递 在 --std-out=echo 参数中将标准输出打印到终端。

    embed-server --std-out=echo
  3. 执行所需的操作。

    /socket-binding-group=standard-sockets/socket-binding=management-http:write-attribute(name=port,value=9991)
  4. 停止嵌入式服务器。

    stop-embedded-server

    这会停止嵌入的服务器,并返回到管理 CLI 会话。如果也想退出管理 CLI 会话,您可以使用 quit 命令。

指定服务器配置

默认情况下,嵌入式服务器将使用 standalone.xml 配置文件。您可以使用 --server-config 参数来指定要使用的不同配置文件。

embed-server --server-config=standalone-full-ha.xml

从仅限管理员模式开始

默认情况下,嵌入式服务器以 管理员模式 启动,它将启动与服务器管理相关的服务,但不启动其他服务或接受最终用户请求。这对于服务器的初始配置非常有用。

您可以通过将 --admin-only 参数设置为 false,以正常运行模式启动嵌入式服务器。

embed-server --admin-only=false

您还可以使用 reload 命令更改正在运行的模式。

reload --start-mode=normal

控制标准输出

您可以控制如何处理嵌入式服务器的标准输出。默认情况下,标准输出将被丢弃,但您可以在服务器日志中找到输出。您可以传递 --std-out=echo,使服务器输出显示有管理 CLI 输出。

embed-server --std-out=echo

引导超时

默认情况下,si med-server 命令会无限期地阻止等待嵌入的服务器完全启动。您可以使用 --timeout 参数指定等待的时间(以秒为单位)。当嵌入式服务器到达可以通过 CLI 管理的点时,小于 1 的值将返回。

embed-server --timeout=30

从空白配置开始

启动嵌入的服务器时,您可以指定要以空配置开头。如果要使用管理 CLI 命令构建整个服务器配置,这非常有用。

embed-server --server-config=my-config.xml --empty-config

如果文件已存在,此命令将失败,这有助于避免意外删除配置文件。您可以通过传递 --remove-existing 参数来指定删除任何现有配置。

embed-server --server-config=my-config.xml --empty-config --remove-existing

启动嵌入式主机控制器

您可以使用管理 CLI 在本地启动主机控制器,以修改域和主机控制器配置,而无需启动其他进程或打开网络套接字。

嵌入式主机控制器不启动任何服务器。另外,启动嵌入式主机控制器时,您不能使用 --admin-only 参数。它始终会启动,就像它处于 仅限管理员 模式时一样。

以下过程将启动管理 CLI,启动嵌入式主机控制器,修改配置,然后停止嵌入的主机控制器。

  1. 启动管理 CLI。

    $ EAP_HOME/bin/jboss-cli.sh
  2. 启动嵌入式主机控制器。

    传递 在 --std-out=echo 参数中将标准输出打印到终端。

    embed-host-controller --std-out=echo
  3. 执行所需的操作。

    /host=HOST_NAME:write-attribute(name=name,value=NEW_HOST_NAME)
  4. 停止嵌入式主机控制器。

    stop-embedded-host-controller

指定主机控制器配置

默认情况下,嵌入式主机控制器将使用 domain.xml 作为域配置,host.xml 用于主机配置。您可以使用 --domain-config--host-config 参数来指定要使用的不同配置文件。

embed-host-controller --domain-config=other-domain.xml --host-config=host-slave.xml
注意

根据您使用的替代配置文件,您可能需要在启动管理 CLI 时设置某些属性。例如,

$ EAP_HOME/bin/jboss-cli.sh -Djboss.domain.master.address=127.0.0.1

控制标准输出

您可以控制如何处理嵌入式主机控制器的标准输出。默认情况下,标准输出将被丢弃,但您可以在主机控制器的日志中找到输出。您可以传递 --std-out=echo,使主机控制器输出显示在管理 CLI 输出中。

embed-host-controller --std-out=echo

引导超时

默认情况下,in p-host-controller 命令会无限期地阻止等待嵌入的主机控制器完全启动。您可以使用 --timeout 参数指定等待的时间(以秒为单位)。当嵌入式主机控制器到达可以通过 CLI 管理的点时,值小于 1 时将返回。

embed-host-controller --timeout=30

使用管理 CLI 进行非修改类加载

使用 EAP_HOME/bin/jboss-cli.sh 脚本启动管理 CLI,使用模块化类加载环境。如果使用 EAP_HOME/bin/client/jboss-cli-client.jar 在非模块化类加载环境中运行管理 CLI,您将需要指定 root JBoss EAP 安装目录。

  1. 启动管理 CLI。

    $ java -jar EAP_HOME/bin/client/jboss-cli-client.jar
  2. 启动嵌入的服务器,指定 root 安装目录。

    embed-server --jboss-home=/path/to/EAP_HOME
    注意

    若要嵌入主机控制器,可使用 embed-host-controller 命令。

    嵌入逻辑将为服务器设置适当的模块化类加载环境。模块类加载程序的模块路径将具有一个元素: EAP_HOME/modules

无论您以哪种方式启动管理 CLI,嵌入式服务器都将在模块化类加载环境中运行。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.