RabbitMq 命令行运用 电脑版发表于:2021/1/16 16:25  >#RabbitMq 命令行运用 [TOC] tn>RabbitMQ是一个开源的多协议消息传递代理。 描述 ------------ tn>`rabbitmqctl`是用于管理RabbitMQ服务器节点的命令行工具。它通过连接到专用CLI工具通信端口上的目标RabbitMQ节点并使用共享密钥(称为cookie文件)进行身份验证来执行所有操作。 RabbitMq HTTP API ------------ tn>可以在启动Rabbitmq后中的:http://127.0.0.1:15672/api/index.html 下找到  RabbitMq Commands ------------ tn>首先我们需要找到`rabbitmqctl`工具,一般在`/usr/rabbitmq/sbin/rabbitmqctl`的目录下。我这里使用的docker地址在`/opt/rabbitmq/sbin/`目录下。  >### 应用程序与集群的管理 `stop` <blockquote style="border-left-color:#2D2878 ">该命令会同时关闭应用程序和 Erlang 节点。</blockquote> `stop_app` <blockquote style="border-left-color:#2D2878 ">会直接关闭应用程序。</blockquote> `start_app` <blockquote style="border-left-color:#2D2878 ">启动应用程序。</blockquote> `reset` <blockquote style="border-left-color:#2D2878 ">重置Rabbitmq。在此之前需要停止rabbitmq</blockquote> `force_reset` <blockquote style="border-left-color:#2D2878 ">强制重置Rabbitmq。在此之前需要停止rabbitmq。 [仅当数据库或集群配置已损坏时,才应将其用作最后的手段。]</blockquote> >### 集群配置 `purge_queue [-p vhost] queue` | | | | ------------ | ------------ | | queue | 需要清理队列的名称 | <blockquote style="border-left-color:#2D2878 ">清除一个队列并删除掉里面所有的消息。    </blockquote> >### 用户管理 `add_user username password` | | | | ------------ | ------------ | | username | 要创建的用户的名称。 | | password | 创建的用户将用于登录到代理的密码。 | <blockquote style="border-left-color:#2D2878 ">添加一个新用户   </blockquote> `set_user_tags username [tag ...]` | | | | ------------ | ------------ | | tag | 用户角色的添加。 | <blockquote style="border-left-color:#2D2878 ">为用户添加一个角色    </blockquote> `authenticate_user username password` <blockquote style="border-left-color:#2D2878 ">对用户进行身份认证  </blockquote> `list_users` <blockquote style="border-left-color:#2D2878 ">列出用户。每个结果行将包含用户名,后跟为该用户设置的标记列表。  </blockquote> >### 访问控制 `set_permissions [-p vhost] user conf write read` | | | | ------------ | ------------ | | vhost | 授予用户访问权限的虚拟主机的名称,默认为“ /”。 | | user | 授予对指定虚拟主机的访问权限的用户名。 | | conf | 与资源名称(用户被授予配置权限)匹配的正则表达式。 | | write | 与资源名称相匹配的正则表达式,用户被授予写权限。 | | read | 与资源名称相匹配的正则表达式,已授予用户读取权限。 | <blockquote style="border-left-color:#2D2878 ">授予用户访问权限的虚拟主机的权限。   </blockquote> `list_vhosts` <blockquote style="border-left-color:#2D2878 ">列出虚拟主机。  </blockquote> `clear_permissions [ -p vhost ] 用户名` <blockquote style="border-left-color:#2D2878 ">拒绝访问指定虚拟主机的权限。   </blockquote> tn>更多请参考:https://www.rabbitmq.com/rabbitmqctl.8.html#set_topic_permissions