1. 程式人生 > >RabbitMQ介面管理和命令管理

RabbitMQ介面管理和命令管理

RabbitMQ vhost管理

RabbitMQ vhost 全稱為Virtual Host(虛擬主機),一個broker裡可以開設多個vhost,用作不同使用者的許可權分離。許可權控制組,使用者只能關聯到一個vhost上,一個vhost中可以有若干個Exchange和Queue,預設的vhost是”/”

一、通過RabbitMQ管理後臺管理vhost

2、對虛擬主機設定許可權和刪除虛擬主機
在虛擬主機列表中對著想要操作的虛擬主機點選,進行操作頁面
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

二、通過RabbitMQ 命令列管理vhost

virtual_host管理

 add_vhost <vhost
>
delete_vhost <vhost> list_vhosts [<vhostinfoitem> ...] set_permissions [-p <vhost>] <user> <conf> <write> <read> conf:正則表示式匹配哪些配置資源能夠被該使用者訪問 conf:正則表示式匹配哪些配置資源能夠被該使用者讀 conf:正則表示式匹配哪些配置資源能夠被該使用者訪問 clear_permissions [-p <vhost>
] <username> list_permissions [-p <vhost>] list_user_permissions <username>

示例:
1、建立vhost

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl add_vhost /testvhost
Creating vhost "/testvhost" ...

2、檢視vhost列表

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6
.3\sbin>rabbitmqctl list_vhosts Listing vhosts ... /testvhost /

3、對vhost設定許可權

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl set_permissions -p /testvhost test1 ConfP  WriteP  ReadP
Setting permissions for user "test1" in vhost "/testvhost" ...

4、檢視指定vhost的許可權

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl  list_permissions -p /testvhost
Listing permissions in vhost "/testvhost" ...
test1   ConfP   WriteP  ReadP

5、檢視指定使用者的許可權

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl list_user_permissions test1
Listing permissions for user "test1" ...
/testvhost       ConfP   WriteP  ReadP

6、清除許可權

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl clear_permissions -p /testvhost test1
Clearing permissions for user "test1" in vhost "/testvhost" ...

7、設定所有許可權

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl set_permissions -p /testvhost test1 ".*" ".*" ".*"
Setting permissions for user "test1" in vhost "/testvhost" ... 

RabbitMQ:基本命令

rabbitmq的安裝、啟動和停止

rabbitmq-service.bat install
rabbitmq-service.bat start
rabbitmq-service.bat stop

列出所有queue

rabbitmqctl list_queues

列出指定queue的資訊

rabbitmqctl list_queues [the queue name] messages_ready messages_unacknowledged

列出所有exchange

rabbitmqctl list_exchanges

列出所有binding

rabbitmqctl list_bindings

安裝基於web的管理外掛

rabbitmq-plugins.bat enable rabbitmq_management 

應用和叢集管理

1.停止RabbitMQ應用,關閉節點

# rabbitmqctl stop 

2.停止RabbitMQ應用

# rabbitmqctl stop_app 

3.啟動RabbitMQ應用

# rabbitmqctl start_app 

4.顯示RabbitMQ中介軟體各種資訊

# rabbitmqctl status 

5.重置RabbitMQ節點

# rabbitmqctl reset 
# rabbitmqctl force_reset 

從它屬於的任何叢集中移除,從管理資料庫中移除所有資料,例如配置過的使用者和虛擬宿主, 刪除所有持久化的訊息。
force_reset命令和reset的區別是無條件重置節點,不管當前管理資料庫狀態以及叢集的配置。如果資料庫或者叢集配置發生錯誤才使用這個最後 的手段。
注意:只有在停止RabbitMQ應用後,reset和force_reset才能成功。

6.迴圈日誌檔案

# rabbitmqctl rotate_logs[suffix] 

7.叢集管理

# rabbitmqctl cluster clusternode… 

使用者管理

1.新增使用者

# rabbitmqctl add_user username password 

2.刪除使用者

# rabbitmqctl delete_user username 

3.修改密碼

# rabbitmqctl change_password username newpassword 

4.列出所有使用者

# rabbitmqctl list_users 

許可權控制
1.建立虛擬主機

# rabbitmqctl add_vhost vhostpath 

2.刪除虛擬主機

# rabbitmqctl delete_vhost vhostpath 

3.列出所有虛擬主機

# rabbitmqctl list_vhosts 

4.設定使用者許可權

# rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp 

5.清除使用者許可權

# rabbitmqctl clear_permissions [-p vhostpath] username

6.列出虛擬主機上的所有許可權

# rabbitmqctl list_permissions [-p vhostpath] 

7.列出使用者許可權

# rabbitmqctl list_user_permissions username