JBoss AS7提供三种不同的方式对服务器进行配置和管理: web,命令行和xml 配置文件形式。
1. Web接口
Web管理客户端是一个GWT的应用,它通过HTPP管理接口来管理域(domain)或者是单独运行(standalone)的服务器。
基于HTTP协议的管理接入
说明:基于HTTP协议的管理接入点负责接入 使用http协议与管理层进行交互 客户端。它负责接收使用JSON编解码的协议和de-typed RPC形式的的api来对可管理的域服务器或者单独运行服务器进行管理操作。web控制台就是通过它来实现的,但基于HTTP协议的管理接入点也可以与其他的管理终端进行集成,交互。)
基于HTTP协议的管理点会运行在域控制器(domain controller)或者是单独运行服务器上,默认运行在9990端口上。 (参见 standalone/configuration/standalone.xml 或者 domain/configuration/host.xml)
<management-interfaces>
<http-interface interface="management" port="9990"/>
<management-interfaces>
<interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
基于HTTP协议的管理接入点运行在两个不同的context下。一个用于运行管理的操作 另外一个提供对web管理接口的访问。
域API: http://<host>:9990/management
Web控制台: http://<host>:9990/console
访问管理控制台
http://<host>:9990/console
对管理控制台进行加密:参考一下本文中关于“加密管理接口"章节。
2. 命令行接口(Command-Line Interface,CLI)
命令行方式的管理工具提供了对域和单独运行服务器的管理。用户可以使用命令行来连接域服务器或者单独运行服务器,通过传输de-typede的管理模型来执行管理操作。
Native管理接入点
说明:Native的管理接入点负责接入使用AS内部协议与管理层进行交互的客户端.它使用基于java对象来描述的管理操作、二进制协议和RPC形式的API来对域和单独运行服务器进行管理操作。命令行方式的管理工具使用它来实现对服务器的管理,单Native管理接入点也提供了极强的集成能力,可以和其他的客户端进行集成。
配置:Nativeg管理接入点运行在host控制器上或者是一个单独运行服务器上。如果使用命令行管理工具,Native管理接入点必须被启用.默认Native管理接入点运行在9999端口上:
<management-interfaces>
<native-interface interface="management" port="9999"/>
<management-interfaces>
<interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
运行命令行管理工具
根据操作系统,使用JBossAS7 bin目录下的jboss-cli.sh或者jboss-cli.bat来启动命令行管理工具。
命令行工具启动以后的第一件事情就是连接被管理的Jboss AS7实例。我们通过命令connect进行:
C:\>jboss-cli.bat You are disconnected at the moment. Type 'connect' to connect to the server or ' help' for the list of supported commands. [disconnected /] connect [standalone@localhost:9999 /]
localhost:9999 是JBossAS7域控制器客户端连接的默认主机和端口名。主机名和端口都是可选的参数,可以被单独或者一起指定。想要退出对话,可以键入quit命令来结束。
help命令用来显示参考帮助
cn (or cd) - change the current node path to the argument; connect - connect to the specified host and port; deploy - deploy an application; help (or h) - print this message; history - print or disable/enable/clear the history expansion. ls - list the contents of the node path; pwn (or pwd) - prints the current working node; quit (or q) - quit the command line interface; undeploy - undeploy an application; version - prints the version and environment information. add-jms-queue - creates a new JMS queue remove-jms-queue - removes an existing JMS queue add-jms-topic - creates a new JMS topic remove-jms-topic - removes an existing JMS topic add-jms-cf - creates a new JMS connection factory remove-jms-cf - removes an existing JMS connection factory data-source - allows to add new, modify and remove existing data sources xa-data-source - allows to add new, modify and remove existing XA data sources
3. 配置文件
域管理和单服务器的xml配置可以在configuration子目录下找到:
一个被管理的域有两种类型的配置:一种是对整个域的配置(domain.xml)另外一种是对每个加入到域里主机(host)的配置(host.xml).关于如何配置域拓详细信息请参考"域配置"章节。xml配置是核心可靠的配置源。任何通过web接口或者命令行方式对配置的更改都持久化到XML配置文件中.如果一个域或者单独服务器离线,xml配置文件也可以进行手动更改,任何更改都在下一次启动时生效。
但是,我们鼓励用户使用web接口或者命令行方式更改配置文件,而不是采用离线编辑的方式对配置文件进行更改。对正在处理的配置文件进行的外部更改将不会被探测到,从而有可能会被覆盖。
通用的配置概念
1. Extensions (扩展)
一个扩展(是一个能扩展服务器功能的模块). JBoss 7的内核是简单轻量级的。需要在domain.xml或者standalone.xml里加入<extension/> xml元素来指明这个模块名。
2. Profile和subsystem(子系统 )
一个profile是一个命名的子系统集合。一个子系统是使用一个扩展添加到和服务器核心的一组功能(参考以上的扩展)。一个子系统可以提供处理servlet的功能;一个子系统可以提供EJB容器,一个子系统可以提供JTA,等等。一个profile是命名的子系统的列表,并且包含各个子系统详细的配置信息。 一个服务器拥有大量子系统的profile会提供丰富的功能.一个拥有数量少并且功能专注的子系统提供的功能相应减少,但是具有更少的内存消耗。
domain.xml和standalone.xml里关于profile的配置看上去大致相同,唯一的不同是standalone.xml只允许有一个profile的xml元素(服务器运行的proifle),但domain.xml可以有多个profile,每一个profile可以映射到一个或者多个服务器组。
3. Paths( 路径)
路径是一个文件系统路径的逻辑名。在doamin.xml,host.xml和standalone.xml配置种都包含用来来声明路径的部分。其他的配置可以通过逻辑名来引用这些路径,而不需要包含路径的所有全部信息(在不同的机器都不相同).比如: logging子系统的配置包含对jboss.server.log.dir路径的引用来指向server的log目录:
<file relative-to="jboss.server.log.dir" path="server.log"/>
JBoss7自动提供一系列的标准路径,而不需要用户在配置文件中配置.
jboss.home - JBossAS安装的跟目录
user.home - 用户的home目录
user.dir - 用户当前的工作路径
java.home - java安装路径
jboss.server.base.dir - 一个服务器实例的跟目录
jboss.server.data.dir - 服务器存储数据的目录
jboss.server.log.dir - 服务器日志文件目录
jboss.server.tmp.dir - 服务器存储临时文件目录
jboss.domain.servers.dir -host Controller在此目录为服务器实例创建的工作区(仅在管理域模式下)
用户可以通过在配置文件中使用<path>xml元素来增加自己的路径或者覆盖除了上面前五个路径的配置。
4. Interfaces (接口)
接口就是对socket可以绑定到的一个物理接口,IP地址或者主机名的逻辑命名。
5. socket binding(socket绑定)和socket binding group(socket绑定组)
socket绑定是对一个socket命名的配置。
6. System Properties( 系统属性)
系统属性值可以在domain.xml, host.xml和standalone.xml里的多个地方设置.standalone.xml里设置的值会成为server启动进程的一部分。
参考:
1. http://jbosscn.iteye.com/blog/1153372 和 http://jbosscn.iteye.com/blog/1160326
2. JBoss配置指南