一、确认CLI所使用的端口

以domain模式为例,查看domain controller(也就是master主机)上的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>

其中native.port对应的端口9999端口,即为CLI连接所需的端口

二、通过CLI连接到Jboss

$JBOSS_HOME/bin/jboss-cli.sh

connect 192.168.1.2:9999 (大家根据实际情况,把这里的IP换成master主机对应的ip和端口)

如果是连接远程主机,接下来会提示输入用户名/密码(即:jboss管理控制台的用户名、密码)

[domain@172.xxx.xxx.xxx:9999 /] (如果能看到这个,说明连接成功)

三、启动/停止指定Group下的所有Server

保持连接状态,直接输入

/server-group=group8080:stop-servers

如果返回

{
    "outcome" => "success",
    "result" => undefined,
    "server-groups" => undefined
}

表示已经成功将组group8080下的所有server停止。类似的,如果要启动该组下的所有server,把stop-servers,换成start-servers即可

四、启动/停止某个特定的Server

/host=master/server-config=server8080:stop

如果返回

{
    "outcome" => "success",
    "result" => "STOPPING"
}

表示master这台host上的server8080已经被停止,这里的master和server8080,对应于domain中的具体host名称及host下的server名称,为了便于理解,直接贴一张图:

五、查看某个Server的状态

ls /host=master/server-config=server8080

返回结果:

interface                        auto-start=true                  priority=undefined               
jvm                              cpu-affinity=undefined           socket-binding-group=ha-sockets  
path                             group=group8080                  socket-binding-port-offset=0     
system-property                  name=server8080                  status=STOPPED

其中status=STOPPED表示该Server已停止

六、部署应用/删除已经部署的应用

standalone 模式:
部署应用
deploy /<PATH>/TestApp.war
删除应用
undeploy TestApp.war
部署应用(但不启用)
deploy /<PATH>/TestApp.war --disabled
将已部署但是未启用的应用,变成enable状态
deploy --name=TestApp.war
删除应用(但是保留文件),相当于disable
undeploy TestApp.war --keep-content

domain模式:
部署应用到所有server group
deploy /<PATH>/TestApp.war --all-server-groups
删除应用
undeploy TestApp.war --all-relevant-server-groups
从某一个group上删除应用(但保留文件),相当于从某一个group上disable该应用
undeploy TestApp.war --server-groups=main-server-group --keep-content
将应用assign到某个group上
deploy /<PATH>/TestApp.war --server-groups=main-server-group
仅部署但是不启用
deploy /<PATH>/TestApp.war --disabled

七、其它命令

help --commands

还有很多其它命令就不逐一讲解了,大家可以用help --commands去查看,下面这些都是可用的命令
batch               data-source         history             patch               rollout-plan        xa-data-source      
cd                  deploy              if                  pwd                 run-batch           
clear               deployment-info     jdbc-driver-info    quit                shutdown            
command             deployment-overlay  jms-queue           read-attribute      try                 
connect             echo-dmr            jms-topic           read-operation      undeploy            
connection-factory  help                ls                  reload              version

如果某个命令不知道用法,比如:deploy 不知道怎么用,可以用 deploy --help 查看详细用法

最后,反问一个问题:既然jboss提供了web端的管理控制台,运维人员可以通过图形界面操作,学习CLI这东西有什么用 ?

答案:在大型集群(节点数>50)的部署环境中,假设新增一个数据源,想让新的数据源生效,必须重启所有相应group下的server,一个个手动点击效率太低了。上节我们学习如何用代码动态创建JNDI数据源,再加上本节的知识,完全可以写一个管理程序,让代码自动添加数据源,然后调用CLI shell命令,自动重启server,这样运维起来就方便多了,最终可以达到一键配置、一键部署的效果。

jboss CLI 命令行接口学习(适用JBOSS EAP 6.2+)的更多相关文章

  1. JBoss CLI

    转自http://www.cnblogs.com/inteliot/archive/2012/08/05/2623719.html   为 了便于维护和管理, JBoss AS 7 提供了命令行接口( ...

  2. JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例

    什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MS ...

  3. JBOSS和EJB学习一

    1.使用软件 IDE:Eclipse4.3(开普勒) EE版本 服务器:jboss EAP 6.2 eclipse-jboss plugin:jbosstools-Update-4.1.2.Final ...

  4. JBoss、Tomcat、JBoss EAP、JBoss AS、wildfly,JBoss EAP安装部署,JBoss各个版本下载,JBoss允许远程访问

    感谢: https://www.cnblogs.com/invlong/p/5983334.html https://blog.csdn.net/mooncarp/article/details/78 ...

  5. php cli模式学习(PHP命令行模式)

    http://www.jb51.net/article/37796.htm php_cli模式简介  php-cli是php Command Line Interface的简称,如同它名字的意思,就是 ...

  6. [redis] redis cli的学习记录

    文档: https://redis.io/topics/rediscli help命令: The command can be used in two forms: . help @<categ ...

  7. java:如何让程序按要求自行重启?

    正文开始前的废话: 这里的程序即包括b/s的web application,也包括standalone的类c/s的java application.   为什么要自我重启?   场景1:分布式环境中, ...

  8. JBOSS EAP 6 系列四 EJB实现——调用(贯穿始终的模块)

    本文主要介绍在JBOSS EAP 6.2(或者JBOSS AS7)中模块是如何贯穿EJB实现的始终.延续上一博文<认识模块的使用>的话题继续聊JBOSS做为模块申明式容器的这一特性在EJB ...

  9. 配置jboss EAP 6.4 数据库连接超时时间

    Environment Red Hat JBoss Enterprise Application Platform (EAP) 6.x 7.x Issue Server throws followin ...

随机推荐

  1. 省市县三级联动 sql语句

    发现在网上的省市县三级联动大部分是mysql的.就算是sqlserver的,也不准确.于是就把mysql的给改了下,适用sqlserver.sql语句如下: CREATE TABLE Dic_Area ...

  2. PNote桌面贴小工具 - 项目管理系列文章

    项目经理在项目过程中将会使用到各种工具,以期能够相互配合,对项目组的各种管理工作进行工作的开展和完成.以前就写过一些项目工具的使用,见下链接: 1.Mindjet MindManager思维导图工具的 ...

  3. 熟练掌握js中this的用法,解析this在不同应用场景的作用

    由于其运行期绑定的特性,JavaScript 中的 this 含义要丰富得多,它可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式. JavaScript 中函数的调用有以下几种方式:作 ...

  4. Asp.net MVC的Model Binder工作流程以及扩展方法(1) - Custom Model Binder

    在Asp.net MVC中, Model Binder是生命周期中的一个非常重要的部分.搞清楚Model Binder的流程,能够帮助理解Model Binder的背后发生了什么.同时该系列文章会列举 ...

  5. shell流程控制&函数

    条件 if-then-elif-then-fi if的条件部分经常使用test EXPRESSION或[ EXPRESSION ]实现,test的用法可以参见test if 条件1 #if 条件1;t ...

  6. 七、Android学习第六天——SQLite与文件下载(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 七.Android学习第六天——SQLite与文件下载 SQLite SQ ...

  7. SQLServer中比较末尾带有空格的字符串遇到的坑

    最近发现SQLServer中比较字符串的时候 如果字符串末尾是空格 那么SQLServer会无视那些空格直接进行比较 这和程序中平时的字符串判断逻辑不统一 );set @a=N'happycat198 ...

  8. .Net程序员Python之道---Python基础

    最近对动态语言比较好奇.所以选择了学习Python这门语言.话不多说开始学习笔记. 一. Python 基础: 1. print对Python进行数据输出, #号后面是队友的输出结果, 通过encod ...

  9. UVALive 5061 Lightning Energy Report --LCA

    题意:给一棵树,每次给u到v的路径上所有点加上一个值,最后输出每个点的权值(初始为0) 解法:每次在u,v间加k时,只要让u,v点的权值加上k,u,v的LCA处减去k(因为LCA的子树中加了两个k), ...

  10. 网格弹簧质点系统模拟(Spring-Mass System by Euler Integration)

    弹簧质点模型是利用牛顿运动定律来模拟物体变形的方法.如下图所示,该模型是一个由m×n个虚拟质点组成的网格,质点之间用无质量的.自然长度不为零的弹簧连接.其连接关系有以下三种: 1.连接质点[i, j] ...