一台物理机器上能够有多个erlang节点(实例),每一个节点能够运行多个应用程序,其中重要的应用程序有RabbitMQ、Erlang语言自带的Mnesia数据库,以及RabbitMQ相关的插件(如RabbitMQ Management)。能够将Erlang节点类比于java的JVM。java
RabbitMQ Management 是一个用于操做RabbitMQ的管理界面,能够操做不少经常使用的操做,可是并不支持全部的操做,命令行支持全部功能。node
rabbitmqctl命令行: 命令行比web管理界面更强大,web界面的命令只是rabbitmqctl命令的一个子集web
应用程序和集群管理(Application and Cluster Management)、
集群配置(Cluster management)、
用户管理(User management)、
访问控制(Access Control)、
参数管理(Parameter Management)、
政策管理(Policy Management)、
服务器状态(Server Status)
Miscellaneous
rabbitmq-server // 同时启动erlang节点和应用程序数据库
// 查看rabrabbitmqctl所支持的命令
rabrabbitmqctl服务器
// 查看状态
rabbitmqctl statusapp
//中止erlang node,同时关闭erlang节点和应用程序
rabbitmqctl stop 插件
// 中止RabbitMQ服务,仅关闭erlang节点上的rabbit应用程序
rabbitmqctl stop_app 命令行
// 启动RabbitMQ服务
rabbitmqctl start_app server
// 格式化rabbitmq node(在集群中须要知足必定的条件才能关闭)
rabbitmqctl resetrabbitmq
// 强制格式化rabbitmq node
rabbitmqctl force_reset
// 清除某个队列的全部消息
rabbitmqctl purge_queue <name>
// 添加用户
rabbitmqctl add_user <username> <password>
// 设置权限
rabbitmqctl set_permissions -p / <username> ".*" ".*" ".*"
// 列举权限
rabbitmqctl list_permissions -p <vhost>
// 列举用户的全部权限
rabbitmqctl list_user_permissions <username>
// 清除权限
rabbitmqctl clear_permissions -p <vhost> <username>
// 认证用户
rabbitmqctl authenticate_user <username> <password>
// 修改密码
rabbitmqctl change_password <username> <password>
// 列举用户
rabbitmqctl list_users
// 删除用户(删除用户时也会把用户相关的权限都删除)
rabbitmqctl delete_user <username>
// 设置tag, tag能够为none最小权限角色,management 管理员角色,policymaker决策者,monitoring 监控,administrator 超级管理员
rabbitmqctl set_user_tags <username> <tag>
// 添加虚拟主机
rabbitmqctl add_vhost <name>
// 删除虚拟主机
rabbitmqctl delete_vhost <name>
// 查看全部虚拟主机
rabbitmqctl list_vhost [<vhostinfoitem> ...]
// 列举默认虚拟机上的全部队列
rabbitmqctl list_queues
// 列出指定虚拟机上的队列
rabbitmqctl list_queues -p <vhost>
// 列举队列,包含队列名称、消息数目、消费者数目、内存使用状况、是否持久化、是否自动删除
rabbitmqctl list_queues name messages counsumers memory durable auto_delete
// 查看交换机
rabbitmqctl list_exchanges [name] [type] [durable] [auto_delete]
// 列举全部绑定 rabbitmqctl list_bindings [-p <vhost>]