第 2 章 应用服务器管理
2.1. 启动和停止 JBoss EAP 6
2.1.1. 启动 JBoss EAP 6
2.1.2. 将 JBoss EAP 6 作为独立服务器启动
本节涵盖将 JBoss EAP 6 作为独立服务器启动的步骤
过程 2.1. 将平台服务作为独立服务器启动
对于红帽企业版 Linux。
运行命令:EAP_HOME/bin/standalone.sh对于 Microsoft Windows 服务器。
运行命令:EAP_HOME\bin\standalone.bat可选:指定其他的参数。
要查看传入启动脚本的其他参数,请使用-h参数。
JBoss EAP 6 服务器实例已启动。
2.1.3. 将 JBoss EAP 6 作为受管域启动
域控制器必须在域里任何服务器组里的任何从服务器之前启动。先在域控制器上,然后在每个关联的主机控制器和其他主机上使用这个过程。
过程 2.2. 将平台服务作为受管域启动
对于红帽企业版 Linux。
运行命令:EAP_HOME/bin/domain.sh对于 Microsoft Windows 服务器。
运行:EAP_HOME\bin\domain.bat可选:传递其他参数到启动脚本里。
请使用-h参数来获取传递到启动脚本里的参数列表。
JBoss EAP 6 受管域实例已启动。
2.1.4. 配置受管域里主机的名字
运行在受管域里的每个主机都必须有一个唯一的名称。为了简化管理并允许在多个主机上使用相同的主机配置文件,服务器将使用下列次序来确定主机名。
host.xml配置文件里的host元素的name属性,如果指定了的话。jboss.host.name系统属性的值。jboss.qualified.host.name系统属性里最后一个句点(".")后的值,如果没有句点则是整个值。- 基于 POSIX 的操作系统的
HOSTNAME环境变量或 Microsoft Windows 的COMPUTERNAME环境变量里的句点(“.”)后的值,如果没有句点则是整个值。
过程 2.3. 使用系统属性配置主机名
- 打开主机配置文件,如
host.xml。 - 找到
host元素,例如:<host name="master" xmlns="urn:jboss:domain:1.6">
- 如果有这些内容,请删除
属性声明。name="HOST_NAME"host元素应该类似于下面的例子。<host xmlns="urn:jboss:domain:1.6">
- 用
-Djboss.host.name参数启动服务器,例如:-Djboss.host.name=HOST_NAME
过程 2.4. 使用专有名称配置主机名
- 用下列语法启动 JBoss EAP 从主机:
例如:bin/domain.sh --host-config=HOST_FILE_NAMEbin/domain.sh --host-config=host-slave01.xml - 启动管理 CLI。
- 使用下列语法来替代主机名:
例如:/host=EXISTING_HOST_NAME:write-attribute(name="name",value=UNIQUE_HOST_NAME)
你应该看到下面的结果。/host=master:write-attribute(name="name",value="host-slave01")"outcome" => "success"
这修改了host-slave01.xml文件里的host name属性:<host name="host-slave01" xmlns="urn:jboss:domain:1.6">
- 您必须重新加载使用旧的主机名的服务器配置以完成这个过程。
例如:reload --host=EXISTING_HOST_NAMEreload --host=master
2.1.5. 在两台主机上创建受管域
注意
- IP1 = IP address of the domain controller (Machine 1)
- IP2 = IP address of the host (Machine 2)
过程 2.5. 在两台主机上创建受管域
在 Machine 1 上
- 使用 add-user.sh 脚本添加管理用户,例如
slave01,让主机可以通过域控制器进行验证。请注意add-user输出里的SECRET_VALUE。 - 用
host-master.xml配置文件启动域,它为指定的域控制器进行了预先配置。 - 用
-bmanagement=$IP1使域控制器对于其他主机可见。[$JBOSS_HOME/bin]$ ./domain.sh --host-config=host-master.xml -bmanagement=$IP1
在 Machine 2 上
- 用用户凭证更新
$JBOSS_HOME/domain/configuration/host-slave.xml文件。<?xml version='1.0' encoding='UTF-8'?> <host xmlns="urn:jboss:domain:1.6" name="slave01"> <!-- add user name here --> <management> <security-realms> <security-realm name="ManagementRealm"> <server-identities> <secret value="$SECRET_VALUE" /> <!-- use secret value from add-user.sh output--> </server-identities> ... - 启动主机。
[$JBOSS_HOME/bin]$ ./domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=$IP1 -b=$IP2
现在我们可以管理域了。
通过 CLI:[$JBOSS_HOME/bin]$ ./jboss-cli.sh -c --controller=$IP1
通过 Web 控制台:http://$IP1:9990
访问服务器的索引页:http://$IP2:8080/ http://$IP2:8230/
2.1.6. 用替代配置启动 JBoss EAP 6
必须具备的条件
- 在使用替代配置文件之前,请将 default 配置作为模版使用。对于受管域,配置文件必须位于
EAP_HOME/domain/configuration/目录。对于独立服务器,配置文件必须位于EAP_HOME/standalone/configuration/目录。
注意
EAP_HOME/docs/examples/configs/ 目录里包含了几个配置示例。请用这些例子来启用额外的功能,如群集或 Transactions XTS API。
过程 2.6. 用其他配置启动实例
独立服务器
对于独立服务器,请将配置文件的名称作为--server-config参数的选项。配置文件必须位于EAP_HOME/standalone/configuration/目录里,而且您需要指定相对这个目录的路径。例 2.1. 在红帽企业版 Linux 里对独立服务器使用其他的配置文件
[user@host bin]$
./standalone.sh --server-config=standalone-alternate.xml这个例子使用了EAP_HOME/standalone/configuration/standalone-alternate.xml配置文件。例 2.2. 在 Microsoft Windows 服务器里对独立服务器使用其他的配置文件
C:\EAP_HOME\bin>
standalone.bat --server-config=standalone-alternate.xml这个例子使用了EAP_HOME\standalone\configuration\standalone-alternative.xml配置文件。受管域
对于受管域,请为--domain-config参数提供配置文件的名称。这个文件必须位于EAP_HOME/domain/configuration/目录,且您需要指定相对这个目录的路径。例 2.3. 在红帽企业版 Linux 里对受管域使用其他的配置文件
[user@host bin]$
./domain.sh --domain-config=domain-alternate.xml这个例子使用了EAP_HOME/domain/configuration/domain-alternate.xml配置文件。例 2.4. 在 Microsoft Windows 服务器里对受管域使用其他的配置文件
C:\EAP_HOME\bin>
domain.bat --domain-config=domain-alternate.xml这个例子使用了EAP_HOME\domain\configuration\domain-alternate.xml配置文件。
使用替代配置运行了 JBoss EAP 6。
2.1.7. 停止 JBoss EAP 6
注意
过程 2.7. 停止 JBoss EAP 6 的实例
停止从命令提示交互式启动的实例。
在 JBoss EAP 6 运行的终端窗口里按 Ctrl-C。
过程 2.8. 停止作为操作系统服务启动的实例。
根据操作系统使用下列步骤。Red Hat Enterprise Linux
对于红帽企业版 Linux,如果您已经编写了服务脚本,请使用它的stop功能。这需要编写到脚本里。然后您可以使用service scriptname stop,这里的 scriptname 是脚本名称。Microsoft Windows Server
在 Microsoft Windows 里,使用net service命令,或者通过控制面板里的 Services 小程序来停止服务。
过程 2.9. 停止在后台运行的示例(红帽企业版 Linux)
- 获取进程的 ID(PID):
如果只有一个实例在运行(独立模式)
下面的命令都会返回单个 JBoss EAP 6 实例的 PID:pidof javajps(jps命令将返回两个进程的 ID:jboss-modules.jar及 jps 自身。请使用jboss-modules.jar的 ID 来停止 EAP 实例)
如果有多个 EAP 实例在运行(域模式)
有多个 EAP 实例运行时要确定正确的进程需要使用更复杂的命令。jps命令可以使用冗余模式来提供 java 进程的更多信息。下面是确定不同 EAP 进程的冗余jps命令的摘要,包括 PID 和角色:$ jps -v 12155 jboss-modules.jar -D[Server:server-one] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1303m ... 12196 jboss-modules.jar -D[Server:server-two] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1303m ... 12096 jboss-modules.jar -D[Host Controller] -Xms64m -Xmx512m -XX:MaxPermSize=256m ... 11872 Main -Xms128m -Xmx750m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=96m -XX:+UseCodeCacheFlushing ... 11248 jboss-modules.jar -D[Standalone] -XX:+UseCompressedOops -verbose:gc ... 12892 Jps ... 12080 jboss-modules.jar -D[Process Controller] -Xms64m -Xmx512m -XX:MaxPermSize=256m ...
ps aux命令也可以用来返回多个 EAP 实例的信息。下面是确定不同 EAP 进程的冗余ps aux命令的摘要,包括 PID 和角色:$ ps aux | grep java username 12080 0.1 0.9 3606588 36772 pts/0 Sl+ 10:09 0:01 /path/to/java -D[Process Controller] -server -Xms128m -Xmx128m -XX:MaxPermSize=256m ... username 12096 1.0 4.1 3741304 158452 pts/0 Sl+ 10:09 0:13 /path/to/java -D[Host Controller] -Xms128m -Xmx128m -XX:MaxPermSize=256m ... username 12155 1.7 8.9 4741800 344224 pts/0 Sl+ 10:09 0:22 /path/to/java -D[Server:server-one] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1000m -Xmx1000m -server - ... username 12196 1.8 9.4 4739612 364436 pts/0 Sl+ 10:09 0:22 /path/to/java -D[Server:server-two] -XX:PermSize=256m -XX:MaxPermSize=256m -Xms1000m -Xmx1000m -server ...
在上面的例子里,Process Controller 进程是停止以停止整个域的进程。grep工具可以和这些命令一起使用来确定 Process Controller:jps -v | grep "Process Controller"ps aux | grep "Process Controller"
- 运行
kill PID给进程发送TERM信号,这里的 PID 是上面的命令确定的进程号。
每个方法都可以干净地关闭 JBoss EAP 6,所以不会丢失数据。
2.1.8. 服务器启动参数和开关参考
standalone.xml、domain.xml 和 host.xml 配置文件里定义的其他配置启动。这可能包括用其他套接字绑定集或次级配置启动服务器。在启动时使用 help 开关可以参考这些可用的参数列表。
例 2.5.
-h 或 --help 开关。下表解释了 help 开关的结果。
[localhost bin]$ standalone.sh -h[localhost bin]$ domain.sh -h表 2.1. 运行时开关和参数表
| 参数或开关 | 模式 | 描述 |
|---|---|---|
--admin-only | 独立服务器模式 | 设置服务器的运行类型为 ADMIN_ONLY。这将导致它打开管理接口并接受管理请求,但不会启动其他运行时服务或接受最终用户请求。 |
--admin-only | 域模式 | 设置主机控制器的运行类型为 ADMIN_ONLY。这将导致它打开管理接口并接受管理请求,但不会启动其他运行时服务;如果这个主机控制器不是域的主控制器,将接受来自从主机控制器的转入连接。 |
-b <value> , -b=<value> | 独立服务器模式,域模式 | 设置系统属性 jboss.bind.address 为给定的值。 |
-b<interface>=<value> | 独立服务器模式,域模式 | 设置系统属性 jboss.bind.address.<interface> 为给定的值。 |
--backup | 域模式 | 保持持久性域配置的备份,即使这个主机不是域控制器。 |
-c <config> , -c=<config> | 独立服务器模式 | 要使用的服务器配置文件的名称。默认是 standalone.xml。 |
-c <config> , -c=<config> | 域模式 | 要使用的服务器配置文件的名称。默认是 domain.xml。 |
--cached-dc | 域模式 | 如果主机不是域控制器且在引导时无法联系域控制器,它将使用域配置的本地缓存备份。 |
--debug [<port>] | 独立服务器模式 | 激活调试模式并用可选参数来指定端口。只有启动脚本支持才可以使用。 |
-D<name>[=<value>] | 独立服务器模式,域模式 | 设置系统属性。 |
--domain-config=<config> | 域模式 | 要使用的服务器配置文件的名称。默认是 domain.xml。 |
-h , --help | 独立服务器模式,域模式 | 显示帮助信息并退出。 |
--host-config=<config> | 域模式 | 要使用的主机配置文件的名称。默认是 host.xml。 |
--interprocess-hc-address=<address> | 域模式 | 主机控制器侦听的与进程控制器通讯的地址。 |
--interprocess-hc-port=<port> | 域模式 | 主机控制器侦听的与进程控制器通讯的端口。 |
--master-address=<address> | 域模式 | 设置系统属性 jboss.domain.master.address 为给定的值。在默认的从主机控制器配置里,它被用来配置和主主机控制器进行原生通讯的地址。 |
--master-port=<port> | 域模式 | 设置系统属性 jboss.domain.master.port 为给定的值。在默认的从主机控制器配置里,它被用来配置和主主机控制器进行原生通讯的端口。 |
--read-only-server-config=<config> | 独立服务器模式 | 要使用的服务器配置文件的名称。它和 --server-config 和 -c 不同,因为原始文件不会被覆盖。 |
--read-only-domain-config=<config> | 域模式 | 要使用的域配置文件的名称。这和 --domain-config 和 -c 参数不同,因为初始文件不会被覆盖。 |
--read-only-host-config=<config> | 域模式 | 要使用的主机配置文件的名称。这和 --host-config 参数不同,因为初始文件不会被覆盖。 |
-P <url> , -P=<url> , --properties=<url> | 独立服务器模式,域模式 | 从给定的 URL 加载系统属性。 |
--pc-address=<address> | 域模式 | 进程控制器与其控制的进程通讯时侦听的地址。 |
--pc-port=<port> | 域模式 | 进程控制器与其控制的进程通讯时侦听的端口。 |
-S<name>[=<value>] | 独立服务器模式 | 设置安全属性。 |
--server-config=<config> | 独立服务器模式 | 要使用的服务器配置文件的名称。默认是 standalone.xml。 |
-u <value> , -u=<value> | 独立服务器模式,域模式 | 设置系统属性 jboss.default.multicast.address 为给定的值。 |
-v , -V , --version | 独立服务器模式,域模式 | 显示应用服务器的版本并退出。 |

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.