最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

RabbitMq 常用命令和REST API詳解

 更新時間:2025年07月28日 09:48:24   作者:java葉新東老師  
RabbitMQ管理命令涵蓋服務(wù)啟停、用戶權(quán)限、虛擬主機、隊列操作、消息管理及集群配置,包含創(chuàng)建/刪除用戶、設(shè)置角色、綁定交換機與隊列、REST API數(shù)據(jù)查詢等關(guān)鍵操作,需注意參數(shù)格式和角色唯一性限制,本文給大家介紹RabbitMq常用命令和REST API,感興趣的朋友一起看看吧

服務(wù)管理相關(guān)

啟動: service rabbitmq-server start 或 rabbitmq-service start
關(guān)閉: service rabbitmq-server stop 或 rabbitmq-service stop
重啟: service rabbitmq-server restart
查看狀態(tài): rabbitmqctl status

用戶相關(guān)

創(chuàng)建用戶

后面2個參數(shù)是用戶名和密碼

rabbitmqctl add_user userName password

修改密碼

rabbitmqctl change_password userName newPassword

校驗密碼

校驗賬號和密碼是否匹配

rabbitmqctl authenticate_user userName "password"
  • 若校驗正確會打印出Success的字樣
  • 若校驗失敗(賬號或密碼錯誤)會打印出Error的字樣

展示所有用戶

除了用戶名之外,還會顯示每個用戶所屬的角色

rabbitmqctl list_users

刪除用戶

rabbitmqctl delete_user userName

清除密碼

rabbitmqctl clear_password {userName}

角色相關(guān)

用戶角色可通過命令:rabbitmqctl list_users查看

rabbitmq角色有以下幾個:

  1. 超級管理員(administrator):可登陸管理控制臺(啟用management plugin的情況下),可查看所有的信息,并且可以對用戶,策略(policy)進行操作
  2. 監(jiān)控者(monitoring): 可登陸管理控制臺(啟用management plugin的情況下),同時可以查看rabbitmq節(jié)點的相關(guān)信息(進程數(shù),內(nèi)存使用情況,磁盤使用情況等)
  3. 策略制定者(policymaker): 可登陸管理控制臺(啟用management plugin的情況下), 同時可以對policy進行管理。但無法查看節(jié)點的相關(guān)信息(上圖紅框標識的部分)。
  4. 普通管理者(management): 僅可登陸管理控制臺(啟用management plugin的情況下),無法看到節(jié)點信息,也無法對策略進行管理。
  5. policymaker:包含managerment所有權(quán)限,并且可以管理策略(Policy)和參數(shù)(Parameter)
  6. none:無角色, 無法登陸管理控制臺,通常就是普通的生產(chǎn)者和消費者。

設(shè)置用戶角色

將userName設(shè)為administartor角色,當角色不存在時,會自動創(chuàng)建角色,一個用戶只能有一個角色;

在設(shè)置角色時administartor后面不能有空格,否則空格也算是一個字符,rabbitmq不會忽略空格

rabbitmqctl set_user_tags userName administartor

設(shè)置多個角色(無效:設(shè)置后不是2個權(quán)限,而是一個權(quán)限,權(quán)限名稱為:monitoring policymaker)

rabbitmqctl set_user_tags userName monitoring policymaker

Vhost管理

查看所有虛擬主機:rabbitmqctl list_vhosts
添加虛擬主機:rabbitmqctl add_vhost vhostname
刪除虛擬主機:rabbitmqctl delete_vhost vhostname

權(quán)限管理

設(shè)置用戶權(quán)限

-p / 表示指定vHosts

rabbitmqctl set_permissions -p / root ".*" ".*" ".*"

查看用戶權(quán)限

查看所有已設(shè)置了權(quán)限的用戶(無權(quán)限的用戶不展示)

rabbitmqctl list_user_permissions

查看指定用戶的權(quán)限

rabbitmqctl list_user_permissions username

清除用戶權(quán)限

-p / 表示指定vHosts

rabbitmqctl clear_permissions -p / username

web管理相關(guān)

開啟/關(guān)閉web管理頁面

# 開啟web管理頁面
rabbitmq-plugins enable rabbitmq_management
# 關(guān)閉web管理頁面
rabbitmq-plugins disable rabbitmq_management

插件相關(guān)

查看插件

rabbitmq-plugins list

應(yīng)用管理

應(yīng)用和節(jié)點都關(guān)閉 :rabbitmqctl stop
關(guān)閉應(yīng)用:rabbitmqctl stop_app
啟動應(yīng)用:rabbitmqctl start_app

隊列管理

查看所有隊列

rabbitmqctl list_queues

清除所有隊列

清楚之前需要先執(zhí)行rabbitmqctl stop_app命令

rabbitmqctl reset

強制清除隊列

rabbitmqctl force_reset

集群管理

查看集群狀態(tài): rabbitmqctl cluster_status
摘除節(jié)點: rabbitmqctl forget_cluster_node [--offline]
組成集群命令: rabbitmqctl join_cluster <clusternode> [--ram]
修改節(jié)點存儲形式: rabbitmqctl change_cluster_node_type disc | ram
修改節(jié)點名稱: rabbitmqctl rename_cluster_node oldnode1 newnode1 [oldnode2 newnode2] [oldnode3 newnode3...]

信息查看

查看所有連接:rabbitmqadmin list connections
概覽 Overview: rabbitmqadmin show overview
查看所有節(jié)點 Node:rabbitmqadmin list nodes
查看所有通道 Channel:rabbitmqadmin list channels
查看所有消費者 Consumer:rabbitmqadmin list consumers
查看所有路由 Exchange:rabbitmqadmin list exchanges
查看所有路由與隊列的關(guān)系綁定 Binding:rabbitmqadmin list bindings

rabbitmqadmin 命令

  • -u:用戶名
  • -p:密碼

查詢命令

查看所有的交換機:rabbitmqadmin -u root -p woaini list exchanges
查看所有的隊列:rabbitmqadmin -u root -p woaini list queues
查看所有的交換機和隊列的綁定關(guān)系:rabbitmqadmin -u root -p woaini list bindings
查看所有的用戶:rabbitmqadmin -u root -p woaini list users
查看所有的權(quán)限信息:rabbitmqadmin -u root -p woaini list permissions
查看所有的連接信息:rabbitmqadmin -u root -p woaini list connections
查看所有的通道信息:rabbitmqadmin -u root -p woaini list channels

創(chuàng)建交換機

  • name:交換機名稱
  • durable:是否持久化
  • auto_delete:是否自動刪除
  • type:交換機類型
rabbitmqadmin  -u root -p woaini declare exchange name=exchange_name_1 durable=true auto_delete=false type=direct

創(chuàng)建隊列

rabbitmqadmin  -u root -p woaini declare queue name=queue_name_1 durable=true auto_delete=false

綁定隊列和交換機

  • source:需要綁定的交換機名稱
  • destination:(目標)需要綁定的隊列名稱

執(zhí)行前必須先創(chuàng)建隊列和交換機,否則會報錯:*** Not found: /api/bindings/%2F/e/exchange_name_1/q/queue_name_1
在 direct 交換機下,隊列名稱和routingKey名稱必須一致,否則發(fā)送消息時無法路由

rabbitmqadmin -u root -p woaini declare binding source=exchange_name_1 destination=queue_name_1 routing_key=queue_name_1

發(fā)送消息

rabbitmqadmin -u root -p woaini publish routing_key=routing_key_1 payload="hello yexindong"

查看隊列中的消息

可以查看到剛剛發(fā)送的消息

rabbitmqadmin -u root -p woaini get queue=queue_name_1

其他命令

命令解釋
rabbitmqadmin list users查看所有用戶 User
rabbitmqadmin list users name查看所有用戶名 Username
rabbitmqadmin list users tags查看所有用戶角色
rabbitmqadmin list vhosts查看所有虛擬主機
rabbitmqadmin list connections查看所有連接
rabbitmqadmin list exchanges查看所有路由 Exchange
rabbitmqadmin list bindings查看所有路由與隊列的關(guān)系綁定 Binding
rabbitmqadmin list permissions查看所有角色的權(quán)限 Permission
rabbitmqadmin list channels查看所有通道 Channel
rabbitmqadmin list consumers查看所有消費者 Consumer
rabbitmqadmin list queues查看所有消息隊列 Queue
rabbitmqadmin list nodes查看所有節(jié)點 Node
rabbitmqadmin show overview概覽 Overview
rabbitmqadmin list bindings source destination_type destination properties_key查看所有路由與隊列的關(guān)系綁定的詳細信息 Binding
rabbitmqadmin declare queue name=test durable=true定義一個隊列queue,durable=true代表持久化打開。
rabbitmqadmin declare exchange name=my.fanout type=fanout定義一個Fanout路由
rabbitmqadmin declare exchange name=my.direct type=direct定義一個Direct路由
rabbitmqadmin declare exchange name=my.topic type=topic定義一個Topic路由
rabbitmqadmin declare binding source=my.fanout destination=test routing_key=first定義 binding
rabbitmqadmin publish routing_key=test payload=“hello world”發(fā)布一條消息
rabbitmqadmin publish routing_key=my.test exchange=my.topic payload=“hello world”使用路由轉(zhuǎn)發(fā)消息
rabbitmqadmin get queue=test requeue=true查看消息,不消費
rabbitmqadmin get queue=test requeue=false查看消息,并消費
rabbitmqadmin purge queue name=test刪除隊列中的所有消息
rabbitmqadmin delete queue name=hello刪除消息隊列 Queue
rabbitmqadmin delete user name=test刪除用戶 User
rabbitmqadmin delete exchange name=test刪除路由器 Exchange
rabbitmqadmin delete binding source=‘kk’ destination_type=queue destination=test properties_key=test刪除路由器與消息隊列的關(guān)系綁定 Binding
rabbitmqadmin -f raw_json list usersraw_json 格式化輸出
rabbitmqadmin -f long list users格式化輸出
rabbitmqadmin -f pretty_json list users pretty_json格式化輸出
rabbitmqadmin -f kvp list users格式化輸出
rabbitmqadmin -f tsv list users格式化輸出
rabbitmqadmin -f table list userstable 格式化輸出
rabbitmqadmin -f bash list usersbash 格式化輸出

REST API

查看所有隊列統(tǒng)計數(shù)據(jù)

-i 表示顯示響應(yīng)頭信息。
-u 指定用戶密碼

curl -i -u root:woaini http://localhost:15672/api/queues

查看虛擬主機 myvh 下 hello-queue 隊列的數(shù)據(jù)統(tǒng)計

curl -i -u root:woaini http://localhost:15672/api/queues/myvh/hello-queue

查看虛擬主機 / 下 hello-queue 隊列的數(shù)據(jù)統(tǒng)計

需要將 / 進行轉(zhuǎn)義后結(jié)果為:%2f

curl -i -u root:woaini http://localhost:15672/api/queues/%2f/hello-queue

創(chuàng)建隊列

在 /myvh 虛擬主機下創(chuàng)建一個名為 javaboy-queue 的隊列

curl -i -u root:woaini  -XPUT -H "Content-Type:application/json" -d '{"auto_delete":false,"durable":true}' http://localhost:15672/api/queues/myvh/javaboy-queue

查看當前連接信息

curl -i -u root:woaini  http://localhost:15672/api/connections

查看當前用戶信息

curl -i -u root:woaini http://localhost:15672/api/users

創(chuàng)建用戶

創(chuàng)建一個名為 zhangsan,密碼是 123 ,角色是 administrator 的用戶。

curl -i -u root:woaini -H "{Content-Type:application/json}" -d '{"password":"123","tags":"administrator"}' -XPUT http://localhost:15672/api/users/zhangsan

為新用戶設(shè)置 vhost

將名為 zhangsan 的用戶設(shè)置到名為 myvh 的 vhost 下:

curl -i -u root:woaini -H "{Content-Type:application/json}" -d '{"configure":".*","write":".*","read":".*"}' -XPUT http://localhost:15672/api/permissions/myvh/zhangsan

到此這篇關(guān)于RabbitMq 常用命令和REST API詳解的文章就介紹到這了,更多相關(guān)RabbitMq 命令和REST API內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

旺苍县| 麦盖提县| 遂川县| 会理县| 邵阳市| 龙川县| 漳州市| 平武县| 祥云县| 徐闻县| 广水市| 岳西县| 准格尔旗| 赤城县| 改则县| 耿马| 丁青县| 林州市| 内丘县| 长寿区| 象山县| 武威市| 广昌县| 罗源县| 唐山市| 化隆| 林口县| 轮台县| 本溪| 卢龙县| 郯城县| 共和县| 怀仁县| 抚远县| 贵南县| 长武县| 佛坪县| 桐梓县| 雅安市| 南召县| 镇康县|