`
jbosscn
  • 浏览: 152665 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JBoss AS 7 命令简介

阅读更多

了便于维护和管理, 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 状态。

0
0
分享到:
评论
4 楼 左右互搏 2012-11-07  
一个问题,我自己写generic command即自定义命令。如同build-in的datasource。但是每次退出cli,我的command也没有了。有没有可能保存。
3 楼 jbosscn 2012-02-13  
sodarfish 写道
请教一个问题:
Jboss7 怎么加载应用自己的*.properties文件到classpath?( 不是System Property)
官方文档上说要放到应用里, 但是一般配置文件是跟环境相关的,开发测试生产都不一样,必须要放到外部的, tomcat/websphere/weblogic包括jboss之前的版本都支持的呀, 但是Jboss7 死活没找到怎么搞.......

说明白一下tomcat/webshpere/weblogic/jboss以前的版本是怎么支持的?是你的代码/应用只有在as7里不工作?
2 楼 sodarfish 2012-02-09  
请教一个问题:
Jboss7 怎么加载应用自己的*.properties文件到classpath?( 不是System Property)
官方文档上说要放到应用里, 但是一般配置文件是跟环境相关的,开发测试生产都不一样,必须要放到外部的, tomcat/websphere/weblogic包括jboss之前的版本都支持的呀, 但是Jboss7 死活没找到怎么搞.......

1 楼 aoingl 2012-01-18  
好消息。 负责 JBoss CLI 模块开发的 Alexey Loubyansky 准备在 7.1.0.Final 版本的时候扩展 "deploy -l",以便列出更多的信息。 see: https://issues.jboss.org/browse/AS7-3320

相关推荐

    JBoss AS 7 简介

    ### JBoss AS 7 简介与特点 JBoss AS 7(Application Server 7)是JBoss系列中的一个重要版本,它标志着JBoss AS在技术架构上的一次重大革新。本文将详细介绍JBoss AS 7的历史背景、设计初衷、核心技术和内部结构,...

    jboss as7 文档

    JBoss AS7(Application Server 7)是JBoss社区推出的一款开源应用服务器,其文档提供了全面且详细的指南、教程及资源介绍,旨在帮助开发者和管理员更好地理解和掌握JBoss AS7的各项功能与配置。 #### 一、文档结构...

    jboss as 7

    JBoss AS 7 是一款开源的应用服务器,由 Red Hat 公司开发,它提供了一个高效且灵活的平台来运行Java应用程序。在这个版本中,JBoss 引入了命令行接口 (CLI) 作为管理和部署应用的主要工具,以提高管理效率和自动化...

    Jboss AS7 管理指南(官方英文文档)

    ### JBoss AS7 管理指南核心知识点详解 #### 一、目标受众与预备知识 **1.1 目标受众** 本指南主要面向希望深入掌握JBoss AS7.0管理技能的技术人员,包括系统管理员、开发人员及技术支持工程师等。 **1.2 预备...

    windows环境下Jboss as 7配置Https

    Windows 环境下 JBoss AS 7 配置 HTTPS 在 Windows 环境下,配置 JBoss AS 7 的 HTTPS 需要按照特定的步骤进行。下面将详细介绍配置 HTTPS 的过程。 生成服务器端证书文件 首先,需要使用 JDK 自带的工具制作 ...

    myeclipse 远程调试jboss as7或者jboss eap6

    本篇将详细介绍如何在MyEclipse中远程调试JBoss AS7或JBoss EAP6,无论是在Windows还是Linux环境下。 首先,我们需要了解远程调试的基本原理。远程调试通常依赖于Java的调试接口(Java Debug Wire Protocol, JDWP)...

    jboss-as-7.1.0.CR1b.zip

    1. **下载和解压**:从官方源或镜像站点下载`jboss-as-7.1.0.CR1b.zip`,然后使用`unzip`命令解压到指定目录。 2. **设置环境变量**:在`.bashrc`或`.bash_profile`文件中添加JBoss AS的路径到`JAVA_HOME`和`JBOSS_...

    jboss7开发部署详细文档

    * jboss-as:存放jboss的核心组件 * licenses:存放jboss的许可证文件 * modules:存放jboss的模块文件 * standalone:存放jboss的 独立配置文件 * welcome-content:存放jboss的欢迎页面文件 在安装完成后,需要...

    jboss7.1 linux版本

    3. **CLI和Management API**:JBoss AS 7提供了命令行接口(CLI)和管理API,使得管理和操作服务器变得更加方便。CLI允许用户执行各种管理任务,如部署应用、配置服务和查看服务器状态,而Management API则为开发者...

    JBoss AS5 安装上手指南

    ### JBoss AS5 安装与上手指南详解 #### 一、引言 JBoss Application Server (简称 JBoss AS) 是一款免费且开源的应用服务器,广泛用于开发和部署 Java 应用程序。JBoss AS5 版本是 JBoss AS 的一个重要版本,引入...

    Jboss7.1.1Linux64位安装包

    在开始安装前,确保你的Linux系统是64位的,并且已经安装了Java Development Kit (JDK) 1.6或更高版本,因为JBoss AS 7需要JDK来运行。你可以通过`java -version`命令检查JDK是否已安装。 **2. 下载JBoss AS 7.1.1*...

    JBOSS7使用入门(一).pdf

    JBoss AS 7 是一个开源的应用服务器,由 Red Hat 公司开发,它基于 Java Enterprise Edition (Java EE) 平台,提供了一种运行和管理企业级应用的环境。本篇将介绍 JBoss AS 7 的入门使用,重点讲解两种管理模式——...

    JBoss7.1.1配置指南及管理员手册PDF版

    本文将重点介绍JBoss7.1.1的核心特性和管理员需要了解的关键概念,包括JBoss的主要版本特性、JBoss AS7的新特性、域(Domain)和群集(Cluster)的概念、JBoss7的配置方法、安全性配置、管理接口、JVM设置、命令行...

    jboss-as-web-7.0.1.Final 配置 SSL

    ### jboss-as-web-7.0.1.Final配置SSL详解 #### 一、引言 随着互联网技术的发展,安全成为越来越重要的议题。对于企业级应用服务器而言,配置SSL(Secure Sockets Layer,安全套接层)是非常必要的,它能够为用户...

    Run Jboss as a service in another location

    "工具"标签可能指的是用于管理Jboss的各种工具,如上述的`jboss-as-nativeservice.exe`,还有像Jboss Management Console这样的图形界面工具,用于远程管理和监控Jboss实例。 总之,"在另一个位置运行Jboss服务"是...

    JBoss7和容器轻量化研究报告

    - **下载地址**: 访问官方下载页面http://jbossas.jboss.org/downloads/,下载JBoss 7.1.1 Final版本,文件名为`jboss-as-7.1.1.Final.zip`。 - **安装路径**: 解压缩文件至`F:\jboss-as-7.1.1.Final`。 - **环境...

    jboss_chhh

    ### JBoss简介 JBoss AS(Application Server),现称为WildFly,是一款开源的Java应用服务器,支持最新的Java EE标准。它由JBoss集团开发,并于2014年被Red Hat收购后更名为WildFly。JBoss AS提供了一整套企业级的...

    jbosstools:一些与JBoss AS配合使用的工具

    JBoss安装脚本jbosstools是脚本和示例的集合,以及如何配置JBoss AS和JBoss EAP的示例。先决条件JBoss版本必须为7或更高版本。 Unix风格的操作系统。 在Linux(Fedora,RHEL,Ubuntu),Solaris上测试快速开始将...

    Admin-Console-QuickStart of JBoss

    - 访问JBoss AS社区下载页面:[http://www.jboss.org/jbossas/downloads/](http://www.jboss.org/jbossas/downloads/) - 下载适用于您的JDK版本的平台独立ZIP分发包: - Java SE 5 – jboss-5.1.0.GA.zip - Java...

Global site tag (gtag.js) - Google Analytics