RabbitMQ-日常运维命令

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)

中间件,我给它的定义就是为了实现某系业务功能依赖的软件,包括如下部分:

Web服务器

代理服务器

ZooKeeper

Kafka

RabbitMQ(本章节)

到目前为止,我们的RabbitMQ的基本功能就算已经讲解完毕,本小节给RabbitMQ的常用命令做一个总结,当然很多命令也可以通过网页和http接口实现,具体用什么方式,就看个人习惯和技能的掌握程度。

1. rabbitmq-server 服务管理

bash 复制代码
# 前台启动(调试用)
rabbitmq-server

# 后台启动
rabbitmq-server -detached

# 停止后台服务
rabbitmqctl stop

2. rabbitmq-plugins 插件管理

bash 复制代码
# 列出所有插件
rabbitmq-plugins list

# 启用插件(如管理界面)
rabbitmq-plugins enable rabbitmq_management

# 禁用插件
rabbitmq-plugins disable rabbitmq_management

3. rabbitmqctl 核心管理命令

3.1 节点状态管理

bash 复制代码
# 查看节点状态
rabbitmqctl status

# 检查节点健康状态
rabbitmqctl node_health_check

# 查看运行环境参数
rabbitmqctl environment

3.2 用户管理

xml 复制代码
# 添加用户
rabbitmqctl add_user <username> <password>

# 删除用户
rabbitmqctl delete_user <username>

# 修改密码
rabbitmqctl change_password <username> <newpassword>

# 列出所有用户
rabbitmqctl list_users

# 设置用户标签(角色)
rabbitmqctl set_user_tags <username> <tag>
# 示例:设置为管理员
rabbitmqctl set_user_tags admin administrator

3.3 虚拟主机管理

bash 复制代码
# 添加虚拟主机
rabbitmqctl add_vhost <vhost_name>

# 删除虚拟主机
rabbitmqctl delete_vhost <vhost_name>

# 列出所有虚拟主机
rabbitmqctl list_vhosts

# 设置用户权限
rabbitmqctl set_permissions -p <vhost> <user> ".*" ".*" ".*"
# 示例:
rabbitmqctl set_permissions -p /myvhost admin ".*" ".*" ".*"

3.4 交换机管理

bash 复制代码
# 列出所有交换机(默认交换机不会显示)
rabbitmqctl list_exchanges [-p <vhost>] [name, type, durable, auto_delete]

# 示例:列出默认虚拟主机的所有交换机
rabbitmqctl list_exchanges -p / name type durable

# 创建交换机(注意:通常由客户端声明,但可通过HTTP API操作)
# 使用 rabbitmqadmin 创建:
rabbitmqadmin declare exchange --vhost=/ name=my_exchange type=direct durable=true

3.5 队列管理

ini 复制代码
# 创建队列
rabbitmqadmin declare queue --vhost=/ name=my_queue durable=true

# 列出所有队列
rabbitmqctl list_queues [-p <vhost>] [name, durable, auto_delete, messages, memory]

# 示例:显示队列名和消息数
rabbitmqctl list_queues -p / name messages

# 删除队列
rabbitmqadmin delete queue --vhost=/ name=my_queue

3.6 绑定管理

ini 复制代码
# 创建绑定
rabbitmqadmin declare binding --vhost=/ \
    source=exchange_name \
    destination=queue_name \
    routing_key=my.routing.key

# 列出所有绑定关系
rabbitmqctl list_bindings [-p <vhost>]

# 示例:显示详细绑定信息
rabbitmqctl list_bindings -p / source_name source_kind destination_name destination_kind routing_key

# 删除绑定
rabbitmqadmin delete binding --vhost=/ \
    source=exchange_name \
    destination=queue_name \
    routing_key=my.routing.key \
    destination_type=queue

3.7 集群管理

csharp 复制代码
# 加入集群
rabbitmqctl join_cluster rabbit@<master-node>

# 查看集群状态
rabbitmqctl cluster_status

# 修改节点类型(磁盘/内存节点)
rabbitmqctl change_cluster_node_type disc | ram

# 从集群移除节点
rabbitmqctl forget_cluster_node rabbit@<node-to-remove>

3.8 策略上管理

ini 复制代码
# 添加策略
rabbitmqctl set_policy [-p <vhost>] <name> <pattern> <definition>
# 示例:设置高可用策略
rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all"}'

# 列出策略
rabbitmqctl list_policies [-p <vhost>]

# 删除策略
rabbitmqctl clear_policy [-p <vhost>] <name>

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

相关推荐
hweiyu008 分钟前
Linux命令:nmtui
linux
MY_TEUCK18 分钟前
【2026最新Linux虚拟机安装】Linux 虚拟机安装VMware 17 + CentOS 7
linux·运维·centos
zkkkkkkkkkkkkk20 分钟前
python使用celery实现异步任务
redis·python·rabbitmq·rocketmq
Rust研习社25 分钟前
Ubuntu 全面拥抱 Rust 后,我意识到 Rust 社区要变了
linux·服务器·开发语言·后端·ubuntu·rust
Shingmc325 分钟前
【Linux】传输层协议TCP
linux·网络·tcp/ip
再战300年33 分钟前
nginx之负载均衡
运维·nginx·负载均衡
Land032939 分钟前
指纹浏览器自动化集成方案|多浏览器RPA适配实战记录
运维·人工智能·爬虫·python·selenium·自动化·rpa
xcLeigh1 小时前
KES大小写混合路径+国产OS/文件系统兼容实战
linux·数据库·文件系统·兼容性·麒麟·欧拉·kes
霍格沃兹测试学院-小舟畅学1 小时前
浏览器自动化的下一层:为什么 CloakBrowser 把指纹问题推到了源码层?
运维·自动化
YuanDaima20481 小时前
Docker 核心架构与底层技术原理解析
运维·人工智能·docker·微服务·容器·架构·个人开发