rabbitmq学习之路-rabbitmqctl

rabbitmqctl使用

学习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

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/aslongas/p/7285203.html

1. RabbitMQ简介 RabbitMQ是一个开源的消息代理,它实现了高级消息队列协议(AMQP),并且支持多种协议。RabbitMQ支持多种编程语言,包括Java、Python、Ruby、PHP、C#等等。RabbitMQ是一个可靠的、可扩展的、可插拔的并且易于使用的消息代理。 2. RabbitMQ安装 2.1 安装Erlang RabbitMQ是基于Erlang语言开发的,所以在安装RabbitMQ之前需要先安装Erlang。可以到Erlang官网下载最新版的Erlang安装包。 2.2 安装RabbitMQ 下载RabbitMQ安装包,根据操作系统的不同选择对应的安装包进行安装。安装过程中需要选择安装目录、配置文件等。 3. RabbitMQ配置 3.1 配置文件 RabbitMQ的配置文件在安装目录下的/etc/rabbitmq目录中。配置文件可以包含多个节,每个节包含多个键值对。可以通过修改配置文件来修改RabbitMQ的行为。 3.2 用户管理 在RabbitMQ中,需要通过用户进行身份验证才能使用RabbitMQ。可以通过以下命令创建用户: rabbitmqctl add_user username password 可以通过以下命令为用户分配角色: rabbitmqctl set_user_tags username role 其中role可以是以下几种角色之一: - administrator:管理员角色,可以进行所有操作。 - management:管理角色,可以管理RabbitMQ,但是不能进行敏感操作。 - monitoring:监控角色,可以查看RabbitMQ的状态信息。 - policymaker:策略制定者角色,可以制定RabbitMQ的策略。 3.3 虚拟主机 在RabbitMQ中,虚拟主机是一个逻辑概念,它允许在同一个RabbitMQ服务器上创建多个逻辑消息代理。每个虚拟主机有自己的用户、队列、交换机等。可以通过以下命令创建虚拟主机: rabbitmqctl add_vhost vhost_name 可以通过以下命令为虚拟主机分配权限: rabbitmqctl set_permissions -p vhost_name username ".*" ".*" ".*" 其中,第一个.*表示允许用户对虚拟主机中的队列进行所有操作,第二个.*表示允许用户对虚拟主机中的交换机进行所有操作,第三个.*表示允许用户对虚拟主机中的绑定进行所有操作。 4. RabbitMQ使用 4.1 生产者 生产者向RabbitMQ中的队列发送消息。可以使用RabbitMQ提供的客户端库来编写生产者。 4.2 消费者 消费者从RabbitMQ中的队列接收消息。可以使用RabbitMQ提供的客户端库来编写消费者。 4.3 队列 队列是RabbitMQ中最基本的组件,生产者向队列发送消息,消费者从队列接收消息。可以通过RabbitMQ控制台来创建队列。 4.4 交换机 交换机是用来接收生产者发送的消息,并将消息路由到指定的队列中。可以通过RabbitMQ控制台来创建交换机。 4.5 绑定 绑定是将队列和交换机绑定在一起,并指定路由键。可以通过RabbitMQ控制台来创建绑定。 5. 总结 RabbitMQ是一个开源的消息代理,它实现了高级消息队列协议(AMQP),并且支持多种协议。RabbitMQ支持多种编程语言,包括Java、Python、Ruby、PHP、C#等等。RabbitMQ是一个可靠的、可扩展的、可插拔的并且易于使用的消息代理。在使用RabbitMQ时,需要先安装Erlang,然后安装RabbitMQ。可以通过修改配置文件来修改RabbitMQ的行为。在使用RabbitMQ时,需要创建用户、虚拟主机、队列、交换机和绑定等组件。可以使用RabbitMQ提供的客户端库来编写生产者和消费者。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值