rabbitmqctl 是 RabbitMQ 的命令行管理工具,用于执行各种与 RabbitMQ 服务器管理相关的操作。以下是一些常见的 rabbitmqctl 命令及其使用方法:

1. 查看服务器状态

  • 查看节点状态
    rabbitmqctl status
    
    该命令会显示 RabbitMQ 节点的详细状态信息,包括节点名称、运行时间、内存使用情况、磁盘空间、已定义的交换器、队列等。

2. 用户管理

  • 添加用户
    rabbitmqctl add_user <username> <password>
    
    例如:
    rabbitmqctl add_user myuser mypassword
    
  • 删除用户
    rabbitmqctl delete_user <username>
    
  • 列出所有用户
    rabbitmqctl list_users
    
  • 更改用户密码
    rabbitmqctl change_password <username> <newpassword>
    
  • 设置用户标签
    用户标签用于指定用户的角色,如 administratormonitoring 等。
    rabbitmqctl set_user_tags <username> <tag1> <tag2>...
    
    例如,将用户 myuser 设置为管理员:
    rabbitmqctl set_user_tags myuser administrator
    

3. 权限管理

  • 设置权限
    权限设置在虚拟主机级别。

    rabbitmqctl set_permissions -p <vhost> <username> <conf> <write> <read>
    
    • <vhost>:虚拟主机名称,通常为 / 表示默认虚拟主机。
    • <conf>:配置权限,例如 .* 表示所有配置。
    • <write>:写入权限,例如 .* 表示所有写入操作。
    • <read>:读取权限,例如 .* 表示所有读取操作。

    例如,为用户 myuser 在默认虚拟主机上设置所有权限:

    rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
    
  • 列出权限

    rabbitmqctl list_permissions -p <vhost>
    
  • 清除权限

    rabbitmqctl clear_permissions -p <vhost> <username>
    

4. 虚拟主机管理

  • 添加虚拟主机
    rabbitmqctl add_vhost <vhost>
    
    例如:
    rabbitmqctl add_vhost myvhost
    
  • 删除虚拟主机
    rabbitmqctl delete_vhost <vhost>
    
  • 列出所有虚拟主机
    rabbitmqctl list_vhosts
    

5. 队列管理

  • 列出所有队列
    rabbitmqctl list_queues
    
    可以使用 -p <vhost> 选项指定在特定虚拟主机上列出队列。
  • 删除队列
    rabbitmqctl delete_queue -p <vhost> <queue>
    

6. 交换器管理

  • 列出所有交换器
    rabbitmqctl list_exchanges
    
    同样,可以使用 -p <vhost> 选项指定虚拟主机。
  • 删除交换器
    rabbitmqctl delete_exchange -p <vhost> <exchange>
    

7. 绑定管理

  • 列出所有绑定
    rabbitmqctl list_bindings
    
    可通过 -p <vhost> 指定虚拟主机。
  • 删除绑定
    rabbitmqctl delete_binding -p <vhost> --source <source> --destination-type <destination - type> --destination <destination> --routing - key <routing - key>
    

这些只是 rabbitmqctl 的一些常用操作,通过这些命令,你可以有效地管理 RabbitMQ 服务器的各个方面。