RabbitMQ 提供了一个命令行工具 rabbitmqctl,用于管理 RabbitMQ 的各个方面,比如队列、交换机、用户、权限等。以下是一些常用的 rabbitmqctl 命令和它们的作用:

1. 查看 RabbitMQ 状态

  • rabbitmqctl status
    显示 RabbitMQ 的当前状态,包括版本信息、Erlang 版本、节点状态、内存使用等信息。

2. 启动和停止 RabbitMQ

  • rabbitmqctl start
    启动 RabbitMQ 服务(需要使用管理员权限)。
  • rabbitmqctl stop
    停止 RabbitMQ 服务(需要使用管理员权限)。
  • rabbitmqctl restart
    重启 RabbitMQ 服务。

3. 检查 RabbitMQ 节点

  • rabbitmqctl status
    显示 RabbitMQ 节点的状态,通常用于检查服务是否正常运行。

4. 创建和删除用户

  • rabbitmqctl add_user <username> <password>
    创建一个新用户,<username><password> 分别是用户名和密码。
  • rabbitmqctl delete_user <username>
    删除指定的用户。
  • rabbitmqctl change_password <username> <new_password>
    更改指定用户的密码。

5. 配置用户权限

  • rabbitmqctl set_permissions -p <vhost> <username> <read> <write> <configure>
    为指定的用户设置虚拟主机(vhost)的权限,分别控制读取、写入和配置权限。
  • rabbitmqctl clear_permissions -p <vhost> <username>
    清除指定用户在虚拟主机上的权限。

6. 创建、删除和列出虚拟主机

  • rabbitmqctl add_vhost <vhost_name>
    创建一个虚拟主机,<vhost_name> 是虚拟主机的名称。
  • rabbitmqctl delete_vhost <vhost_name>
    删除指定的虚拟主机。
  • rabbitmqctl list_vhosts
    列出所有的虚拟主机。

7. 列出和删除队列

  • rabbitmqctl list_queues
    列出所有队列及其属性(如消息数量、消费者数量等)。
  • rabbitmqctl delete_queue <queue_name>
    删除指定的队列。

8. 列出和删除交换机

  • rabbitmqctl list_exchanges
    列出所有交换机。
  • rabbitmqctl delete_exchange <exchange_name>
    删除指定的交换机。

9. 查看队列和交换机的绑定情况

  • rabbitmqctl list_bindings
    列出所有队列和交换机的绑定信息。

10. 查看消息统计信息

  • rabbitmqctl list_queues name messages
    列出队列名称和队列中消息的数量。

11. 监控和管理连接

  • rabbitmqctl list_connections
    列出所有的连接信息。
  • rabbitmqctl close_connection <connection_name>
    关闭指定的连接。

12. 开启和停止日志

  • rabbitmqctl trace_on
    开启消息追踪,用于调试。
  • rabbitmqctl trace_off
    关闭消息追踪。

13. 查看当前的用户

  • rabbitmqctl list_users
    列出所有用户。

14. 查看和管理集群

  • rabbitmqctl join_cluster <node_name>
    将当前节点加入到集群。
  • rabbitmqctl forget_cluster_node <node_name>
    将指定的节点从集群中移除。

15. 重启 RabbitMQ 服务

  • rabbitmqctl reset
    重置 RabbitMQ 节点,通常用于故障恢复操作,会清除节点的数据(慎用)。

16. 监控与性能

  • rabbitmqctl list_connections
    列出所有连接的信息。
  • rabbitmqctl list_channels
    列出所有通道的信息。
  • rabbitmqctl list_consumers
    列出所有消费者的信息。

这些是 rabbitmqctl 命令的常用操作。更多的命令和参数可以通过 rabbitmqctl help 获取详细帮助。

作者:admin  创建时间:2025-01-15 12:02
最后编辑:admin  更新时间:2025-01-15 12:03