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配置指南