为
了便于维护和管理, JBoss AS 7 提供了命令行接口(CLI), 用户通过丰富的命令可以达到和 Web Console 一样的管理效果。本文尝试对 JBoss AS 7 的 CLI 进行简单介绍。
JBoss CLI 的作用
显而易见,CLI 的作用在于管理。 JBoss AS 7 团队力图使 CLI 和 Web console 起到同样的管理效果。CLI
使得 JBoss AS 7 的管理很容易被嵌入管理员的脚本中,针对大规模的服务器管理和与其他服务器的集成管理有很大优势。
JBoss CLI 是怎样工作的
JBoss AS 7 启动的时候,会开启 management 的两个端口, native-interface(default
port: 9999) 和 http-interface(default port: 9990), native-interface 默认是给
CLI 用的, http-interface 是给 Web console 用的。
standalone 下该配置在 standalone/configuraiton/standalone.xml 中:
<socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
domain 下该配置在 domain/configuration/host.xml 中:
<management-interfaces>
<native-interface security-realm="ManagementRealm">
<socket interface="management" port="${jboss.management.native.port:9999}"/>
</native-interface>
<http-interface security-realm="ManagementRealm">
<socket interface="management" port="${jboss.management.http.port:9990}"/>
</http-interface>
</management-interfaces>
NOTE
配置文件中的 ${jboss.management.native.port:9999} 意味着如果有 jboss.management.native.port 系统变量存在,那么就使用该变量的值,否则使用9999。变量通过 -D 传入。
JBoss CLI 的入口
JBoss CLI 的入口是 bin/jboss-admin.sh 脚本, 不加任何参数运行该脚本会进入 interactive mode, 用户在console里输入命令和 native-interface 端口进行通讯。
JBoss CLI 的实现
JBossl CLI 使用 JLine
处理控制台的输入,实现了诸如 Tab 自动完成, 命令历史记录等特性,让那些习惯于 bash 等控制台操作的管理员们感觉很舒服。JBoss
CLI 使用 JBoss remoting 和服务器端的 controller 通讯。如果是 standalone mode,
controller 是单个的 host controoler,如果是 domain mode, controoler 就是 domain
controller。交互的数据格式是基于 JBoss remoting 的自定义协议,与其不同的是 Web Console 下与
management-http 端口通讯的是基于 JSON 格式的 base64编码。
JBoss CLI 的特性
JBoss CLI 有三个特性需要说下,一是 interactive mode 下支持 tab 自动完成,
二是有些命令只有在服务器连接以后才有用,有些则在 standalone 和 domain
下不同。三是可以自定义新的命令。如果想看某个命令的详细说明, 运行: command --help
。
JBoss CLI 的参数
脚本 bin/jboss-admin.sh 有一些参数:
./jboss-admin.sh --version
# 打印版本信息。 除 JBoss AS release 的信息以外,都是 CLI 所在的机器的信息。
./jboss-admin.sh --controller=host:port
# 指定 CLI 连接的目标 controller。 该设定并没有启动连接, 只有调用 connect 命令或者 --connect 参数才会启动连接
./jboss-admin.sh --file=FILE
# 读取 FILE 里的命令列表,逐个执行。 每个命令一行。 运行完后,退出
./jboss-admin.sh --command COMMAND
# 执行 --command 后面的 COMMAND, 并且退出。 “--command” 可以省略。
./jboss-admin.sh --commands COMMAND1,COMMAND2...
# 执行 --commands 后面的命令列表, 以逗号分开。运行完成后退出。“--commands” 可以省略。
./jboss-admin.sh --user=username --password=password
# 指定需要 authentication 的用户名和密码。
./jboss-admin.sh --connect --gui
# 启动 GUI 进行可视化 command builder
# --gui 在 7.1.0.Final 会出现
JBoss CLI 常用命令
下面列出的一些 command 都是基于 jboss-as-7.1.0.CR1b 版本, 以后有可能会有增加或者修改。
1 connect
connect 命令用于连接目标 controller。
用法如下:
connect [host]:[port]
# 连接 host:port 端口, 默认为连接 localhost:9999。 这个是在 interactive mode 下输入的命令。
./jboss-admin.sh --connect
# 启动控制台的时候自动连接 localhost:9999
./jboss-admin.sh --connect --controller=host:port
# 启动控制台的时候自动连接 host:port
./jboss-admin.sh --connect --controller=host:port --user=<username> --password=<password>
# 启动控制台的时候自动连接 host:port, 并且使用 username 和 password 进行 。
2 clear
clear 用于清屏。cls 是它的一个 alias。 与 linux 下的 clear 一样。
3 help
非常有用的命令。运行 command --help 来查看详细解释
4 history
列出已经运行过的命令历史记录。 存放在 USER_HOME/.jboss-cli-history 文件。
5 version
打印出版本信息
6 pwd
打印当前所在 node 的路径信息。
7 batch
进入 batch mode。 batch mode 是将一些命令在一个事务下运行。 batch 的定义也可以放在一个文件里,由
./jboss-admin.sh --file=FILE 执行。有关 batch mode 的具体用法, 请参照:
http://community.jboss.org/wiki/CLIBatchMode
8 quit
退出
9. cd node_path【connect 后有效】
改变当前 node 的路径。 "cd .." 会更改到上一层。
10 ls 【connect 后有效】
列出当前 node 下的子路经
11 deploy file_path 【connect 后有效】
部署一个文件到目标 host。
[standalone@192.168.1.102:9999 /] deploy /home/lgao/sources/my_own/maven_webapp/myapp/target/myapp.war
# 部署一个 war, 同时启动
[standalone@192.168.1.102:9999 /] deploy -l
myapp.war
# 列出已部署的应用
[standalone@192.168.1.102:9999 /] undeploy myapp.war
# 卸载 myapp.war
[standalone@192.168.1.102:9999 /] deploy /home/lgao/sources/my_own/maven_webapp/myapp/target/myapp.war --disabled
# 部署一个 war, 但是不启动它
[standalone@192.168.1.102:9999 /] deploy -l
myapp.war
[standalone@192.168.1.102:9999 /] deploy --name myapp.war
# 仅仅启动 myapp.war
CLI 会把 myapp.war 上传到目标 host中进行部署。
deploy -l 会列出当前的部署列表。(如果同时能列出每个部署的状态就更好了。)
12 undeploy deployname 【connect 后有效】
卸载一个部署。 deployname 是 deploy -l 列出的 name
13 command add --node-type=xx --property-id=xx --command-name=CmdName 【connect 后有效】
定义一个命令,使得该命令对指定 node-type 的某个 node 对应的实例进行操作。JBoss CLI 内置了2 个 自定义命令: data-source, xa-data-source. 其中 data-source 的定义是:
command add --node-type=/subsystem=datasources/data-source --property-id=jndi-name --command-name=data-source
我们来自定义一个 connector 的命令:
[standalone@localhost:9999 /] command add --node-type=/subsystem=web/connector --propertiy-id=name --command-name=connector
然后我们就可以使用 connector 命令了:
[standalone@localhost:9999 /] connector --name=http read-resource
enable-lookups=false
enabled=true
max-post-size=2097152
max-save-post-size=4096
protocol=HTTP/1.1
redirect-port=8443
scheme=http
secure=false
socket-binding=http
ssl=n/a
virtual-server=n/a
每个新添加的自定义命令都会有 --help 参数, JBoss CLI 会读取服务器端支持的 operation 和 attribute, 组合成帮助文档显示出来。
除了以上的命令以外, 还可以通过 /node-type=node-name:operation 的方式进行调用。比如:
[standalone@localhost:9999 /] /subsystem=naming:read-resource-description
{
"outcome" => "success",
"result" => {
"description" => "The configuration of the naming subsystem.",
"attributes" => {},
"operations" => undefined,
"children" => {"binding" => {
"description" => "JNDI bindings for primitive types",
"model-description" => undefined
}}
}
}
在根 node 下有个 operation 用来关闭 JBoss:
[standalone@localhost:9999 /] :shutdown
{"outcome" => "success"}
[standalone@localhost:9999 /]
在根 node 下有个 operation 用来重启 JBoss:
[standalone@localhost:9999 /] :reload
{"outcome" => "success"}
[standalone@localhost:9999 /]
重启后, CLI 保持着 connected 状态。
分享到:
相关推荐
jboss application server7 命令简介,包含部署、启动等等
2. 为什么JBoss AS7 这么快 8 3. JBoss AS7中的新概念-域 10 3.1. 域(Domain)的概念及其与群集(Cluster)的区别 10 3.2. 实验 11 1.1.1. 准备工作 11 1.1.2. 配置 12 3.2.1.1. Master上面的配置 14 3.2.1.1.1. ...
JBoss安装脚本jbosstools是脚本和示例的集合,以及如何配置JBoss AS和JBoss EAP的示例。先决条件JBoss版本必须为7或更高版本。 Unix风格的操作系统。 在Linux(Fedora,RHEL,Ubuntu),Solaris上测试快速开始将...
2. 为什么JBoss AS7 这么快 8 3. JBoss AS7中的新概念-域 10 3.1. 域(Domain)的概念及其与群集(Cluster)的区别 10 3.2. 实验 11 1.1.1. 准备工作 11 1.1.2. 配置 12 3.2.1.1. Master上面的配置 14 3.2.1.1.1. ...
mvn install -Parquillian-jbossas-managed-7,single-test mvn install -Parquillian-jbosseap-managed-6,single-test 现在,您可以继续在公平的竞争环境中对两个应用程序服务器进行测试(即:无需花时间下载)。 ...
JCliff使用jboss-cli.sh调用配置命令,因此可以在不启动服务器的情况下完成许多配置修改。 我可以使用调用jboss-cli.sh的脚本来配置服务器 JCliff逐步修改配置。 仅修改配置的必要部分,并且如果已应用所需的更改,...
JBoss AS7部署/管理插件 要简化使用JBoss Forge与JBoss Application Server 7的交互: : 用法 安装后,服务器必须正在运行才能使用任何管理命令。 安装(需要一个活动的项目) $ forge install-plugin jboss-as-7...
JBoss AS 7。 Maven。 怎么跑? 克隆或以Zip格式下载到本地计算机。 通过命令提示符进入根目录。 在Maven任务下运行。 > mvn compile war 成功构建后,您可以在目标文件夹中找到*.war 。 在JBoss AS 7中部署...
Papathanasiou 2010介绍这个 JBoss 脚本在目标 JBoss AS 服务器上部署了一个 JSP shell。 部署后,脚本使用其上传和命令执行功能来提供交互式会话。 功能包括: 多平台支持 - 在 Windows、Linux 和 Mac 目标上测试...
设置一个RBOSS_CLI_HOME变量,该变量指向您的JBoss AS主目录,该目录具有jboss-cli以便使用rboss-cli 。 使用rboss-cli rboss-cli是jboss-cli的帮助工具,它映射资源路径并帮助操作调用。 基本 调用命令以获取映射...
java餐饮管理系统源码 概述 安装在 Jboss Enterprise Application Server 上的 Liferay Enterprise ...您应该在变量JBOSS_AS_DB_DRIVER_NAME定义您的数据库类型,唯一的选择是: mysql oracle-11g orac
在OpenShift上运行在创建一个帐户创建一个jbossas-7.0应用程序rhc app create -a portal -t jbossas-7 --from-code git://github.com/eschabell/openshift-portal.git发出以下命令以确定您的USERID rhc app show这将...
linux部署服务器常用命令 fdisk -l 查分区硬盘 df -h 查空间硬盘 cd / 进目录 ls/ll 文件列表 vi tt.txt i=insert 插入 shift+: 进命令行 wq 保存%退出 cat tt.txt 内容查看 pwd 当期目录信息 mkdir tt建目录 cp tt....
1. Read 第 1 章 教程 for a tutorial with step-by-step instructions. The source code for ...7. Hibernate 网站的社区是讨论关于设计模式以及很多整合方案(Tomcat、JBoss AS、Struts、EJB 等)的好地方。
JBoss AS 7二手技术/框架: - HTML -CSS -Spring - Cassandra - AngularJS - Bootstrap使用以下命令在...
键入以下命令来构建和部署归档文件: mvn clean install jboss-as:deploy这会将target/spring_lab.war部署到正在运行的服务器实例。访问应用程序该应用程序将在以下URL上运行: 。 您也可以从Codevny运行该应用程序...
JBoss AS / Wildfly补丁生成工具 用法 选项不是可选的,必须完全遵循以下格式:-- --optionname=value 。 当存在值时, =必须存在。 选项名称没有缩写形式。 在以下各节中,将patch-gen替换为java -jar patch-gen-*...
转到项目文件夹并继续执行以下命令。 mvn jetty:run 然后打开 Web 浏览器以查看门户主页。 其他一些用于开发/测试的页面 验证底层数据库(参见com.westbank.web.DevController ): 检查正在运行的 Web 服务列表: ...
JBOSS_HOME\server\default\deploy\jbossweb-tomcat55.sar\server.xml 6、修改IP地址后不能登录QC 解决办法: 在C:\Program Files\Mercury\Quality Center\jboss\server\default\deploy目录下找到10sabin.war ...