学习rabbitmq,原理之后第一个要掌握的就是rabbitmqctl这个命令的用法了,rabbitmq的管理功能最全的就是rabbitmqctl命令了,当然还有HTTP API和UI两种管理手段。

rabbitmqctl的使用方法:

rabbitmqctl [-n <node>] [-q] <command> [<command options>]
-n node 默认node名称是"rabbit@server",如果你的主机明是'server.example.com',那么node名称是'rabbit@server'。
-q 安静输出模式,信息会被禁止输出

Commands:

基本的管理功能

stop [<pid_file>]
#停止在erlang node上运行的rabbitmq,会使rabbitmq停止
stop_app
#停止erlang node上的rabbitmq的应用,但是erlang node还是会继续运行的
start_app
#启动erlan node上的rabbitmq的应用
wait <pid_file>
#等待rabbitmq服务启动
reset
#初始化node状态,会从集群中删除该节点,从管理数据库中删除所有数据,例如vhosts等等。在初始化之前rabbitmq的应用必须先停止
force_reset
#无条件的初始化node状态
rotate_logs <suffix>
#轮转日志文件

cluster管理

join_cluster <clusternode> [--ram]
#clusternode表示node名称,--ram表示node以ram node加入集群中。默认node以disc node加入集群,在一个node加入cluster之前,必须先停止该node的rabbitmq应用,即先执行stop_app。
cluster_status
#显示cluster中的所有node
change_cluster_node_type disc | ram
#改变一个cluster中node的模式,该节点在转换前必须先停止,不能把一个集群中唯一的disk node转化为ram node
forget_cluster_node [--offline]
#远程移除cluster中的一个node,前提是该node必须处于offline状态,如果是online状态,则需要加--offline参数。
update_cluster_nodes clusternode
#
sync_queue queue
#同步镜像队列
cancel_sync_queue queue
#

用户管理

add_user <username> <password>
#在rabbitmq的内部数据库添加用户
delete_user <username>
#删除一个用户
change_password <username> <newpassword>
#改变用户密码 \\改变web管理登陆密码
clear_password <username>
#清除用户密码,禁止用户登录
set_user_tags <username> <tag> ...
#设置用户tags
list_users
#列出用户
add_vhost <vhostpath>
#创建一个vhosts
delete_vhost <vhostpath>
#删除一个vhosts
list_vhosts [<vhostinfoitem> ...]
#列出vhosts
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
#针对一个vhosts 给用户赋予相关权限
clear_permissions [-p <vhostpath>] <username>
#清除一个用户对vhosts的权限
list_permissions [-p <vhostpath>]
#列出哪些用户可以访问该vhosts
list_user_permissions <username>
#列出该用户的访问权限
set_parameter [-p <vhostpath>] <component_name> <name> <value>
#
clear_parameter [-p <vhostpath>] <component_name> <key>
#
list_parameters [-p <vhostpath>]
#
 

policy管理,策略用来控制和修改queues和exchange在集群中的行为,策略可以应用到vhost

set_policy [-p <vhostpath>] [--priority <priority>] [--apply-to <apply-to>]
<name> <pattern> <definition>
#name 策略名称,pattern 正则表达式,用来匹配资源,符合的就会应用设置的策略,apply-to 表示策略应用到什么类型的地方,一般有queues、exchange和all,默认是all。priority 是个整数优先级,definition 是json格式设置的策略。
clear_policy [-p <vhostpath>] <name>
#清除一个策略
list_policies [-p <vhostpath>]
#列出已有的策略

queues && exchange状态信息

list_queues [-p <vhostpath>] [<queueinfoitem> ...]
#返回queue的信息,如果省略了-p参数,则默认显示的是"/"vhosts的信息。
list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]
#返回exchange的信息。
list_bindings [-p <vhostpath>] [<bindinginfoitem> ...]
#返回绑定信息。
list_connections [<connectioninfoitem> ...]
#返回链接信息。
list_channels [<channelinfoitem> ...]
#返回目前所有的channels。
list_consumers [-p <vhostpath>]
#返回consumers,
status
#显示broker的状态
environment
#显示环境参数的信息
report
#返回一个服务状态report,
eval <expr>
 

rabbitmq支持各种插件,开启插件可以使用rabbitmq-plugins命令

插件的开启和关闭方法

rabbitmq-plugins <command> [<command options>]
Commands:
list [-v] [-m] [-E] [-e] [<pattern>] 显示所有的的插件。-v 显示版本 -m 显示名称 -E 显示明确已经开启的 -e显示明确的和暗中开启的
enable <plugin> ... 开启一个插件
disable <plugin> ... 关闭一个插件
 

在debian/ubuntu下插件一般安装路径:/usr/lib/rabbitmq/lib/rabbitmq_server-3.2.2/plugins

开启:rabbitmq-plugins enable rabbitmq_management

rabbitmq_management提供一个基于HTTP的API接口,来管理和监控你的rabbitmq。他有web方式和CLI方式,其实web方式是在后端调用HTTP api

rabbitmq_management插件的用法:

web http://host:15672/
api http://host:15672/api/
cli http://host:15672/cli

Rabbitmq中rabbitmqctl的常用命令的更多相关文章

  1. Linux 下 expect 脚本语言中交互处理常用命令

    Linux 下 expect 脚本语言中交互处理常用命令 1. #!/usr/bin/expect 告诉操作系统脚本里的代码使用那一个 shell 来执行.这里的 expect 其实和 Linux 下 ...

  2. 【视频开发】Gstreamer中一些gst-launch常用命令

    GStreamer是著名的开源多媒体框架,功能强大,其命令行程序 gst-launch 可以实现很多常规测试.播放等,作为系统调试等是非常方便的. 1.摄像头测试 gst-launch v4l2src ...

  3. [转帖]「日常小记」linux中强大且常用命令:find、grep

    「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...

  4. 图解git中的最常用命令

    图解git中的最常用命令 Git命令参考手册(文本版) git init                                                  # 初始化本地git仓库(创 ...

  5. 【日常小记】linux中强大且常用命令:find、grep【转】

    转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍fin ...

  6. Linux 中强大且常用命令:find、grep

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下:    find命令        f ...

  7. 【转载】Linux中强大且常用命令:find、grep

    转载自:http://www.linuxeden.com/html/softuse/20130804/142065.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find. ...

  8. linux中强大且常用命令:find、grep

    在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们. 本文结构如下: find命令 find命令的一般形 ...

  9. centos和rhel中软件包管理常用命令

    软件包管理的常用命令  rpm软件包的管理  查询类: rpm  -q 软件包的查询: rpm  -q  软件包的名字   //你的记住软件包完整名字 模糊查询:rpm  -qa  |  grep   ...

随机推荐

  1. 《RedHatLinux系统修复视频(通过本地镜像)》

    此视频的测试环境: win7下安装的VMware    redhatlinux6.3系统的修复     以删掉kernel系统引导故障重新安装kernel为例 基于本地镜像来对系统进行修复 如疑问可留 ...

  2. 官方 Material Design App

    [转]MaterialDesignCenter 发表回复 转: https://github.com/lightSky/MaterialDesignCenter MaterialDesignCente ...

  3. Qt模拟C#的File类对文件进行操作

    其实只是QT菜鸟为了练习而搞出来的 文件头: #include <QFile> #include <QString> #include <iostream> #in ...

  4. Responsive设计——不同设备的分辨率写法

    1.1024px显屏 @media screen and (max-width : 1024px) { /* 样式写在这里 */ } 2.800px显屏 @media screen and (max- ...

  5. delphi调用 java 的 WebService服务端.

    // InvRegistry.RegisterInvokeOptions(TypeInfo(ModelADServicePortType), ioLiteral); InvRegistry.Regis ...

  6. C++中delete和delete[]的区别

    C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]. 关于 new[] 和 delete[],其中又 ...

  7. Fedora 17安装NFS

    1.NFS概述 NFS(Network File System)是一种分布式文件系统,允许网络中的安装不同操作系统的计算机间共享文件和外设,所以它的通讯协定设计与主机及作业系统无关. 它是由SUN公司 ...

  8. MYsqli 绑定插入与查询实例

    <?php $conn = new mysqli('localhost','root','','orders'); //连接 $prepare = "insert into t100 ...

  9. EXTJS 4.2 资料 控件之Grid 列鼠标悬停提示

    columns: [ { header: }, { header: }, { header: , renderer: function (v, ctx, record) { ctx.tdAttr = ...

  10. 企业应用的Web程序的安全性

    提起安全性这个话题,大家恐怕依稀还记得Sony的PSP账户信息泄露的事故造成的重大损失.但是又隐隐觉得这事儿离我很远,无需过多考虑.也有的人会想,我们做的是企业内部系统所以不必太在意.但是,Web程序 ...