一臺物理機器上能夠有多個erlang節點(實例),每一個節點能夠運行多個應用程序,其中重要的應用程序有RabbitMQ、Erlang語言自帶的Mnesia數據庫,以及RabbitMQ相關的插件(如RabbitMQ Management)。能夠將Erlang節點類比於java的JVM。java
RabbitMQ Management 是一個用於操做RabbitMQ的管理界面,能夠操做不少經常使用的操做,可是並不支持全部的操做,命令行支持全部功能。node
rabbitmqctl命令行: 命令行比web管理界面更強大,web界面的命令只是rabbitmqctl命令的一個子集web
應用程序和集羣管理(Application and Cluster Management)、
集羣配置(Cluster management)、
用戶管理(User management)、
訪問控制(Access Control)、
參數管理(Parameter Management)、
政策管理(Policy Management)、
服務器狀態(Server Status)
Miscellaneous
rabbitmq-server // 同時啓動erlang節點和應用程序數據庫
// 查看rabrabbitmqctl所支持的命令
rabrabbitmqctl服務器
// 查看狀態
rabbitmqctl statusapp
//中止erlang node,同時關閉erlang節點和應用程序
rabbitmqctl stop 插件
// 中止RabbitMQ服務,僅關閉erlang節點上的rabbit應用程序
rabbitmqctl stop_app 命令行
// 啓動RabbitMQ服務
rabbitmqctl start_app server
// 格式化rabbitmq node(在集羣中須要知足必定的條件才能關閉)
rabbitmqctl resetrabbitmq
// 強制格式化rabbitmq node
rabbitmqctl force_reset
// 清除某個隊列的全部消息
rabbitmqctl purge_queue <name>
// 添加用戶
rabbitmqctl add_user <username> <password>
// 設置權限
rabbitmqctl set_permissions -p / <username> ".*" ".*" ".*"
// 列舉權限
rabbitmqctl list_permissions -p <vhost>
// 列舉用戶的全部權限
rabbitmqctl list_user_permissions <username>
// 清除權限
rabbitmqctl clear_permissions -p <vhost> <username>
// 認證用戶
rabbitmqctl authenticate_user <username> <password>
// 修改密碼
rabbitmqctl change_password <username> <password>
// 列舉用戶
rabbitmqctl list_users
// 刪除用戶(刪除用戶時也會把用戶相關的權限都刪除)
rabbitmqctl delete_user <username>
// 設置tag, tag能夠爲none最小權限角色,management 管理員角色,policymaker決策者,monitoring 監控,administrator 超級管理員
rabbitmqctl set_user_tags <username> <tag>
// 添加虛擬主機
rabbitmqctl add_vhost <name>
// 刪除虛擬主機
rabbitmqctl delete_vhost <name>
// 查看全部虛擬主機
rabbitmqctl list_vhost [<vhostinfoitem> ...]
// 列舉默認虛擬機上的全部隊列
rabbitmqctl list_queues
// 列出指定虛擬機上的隊列
rabbitmqctl list_queues -p <vhost>
// 列舉隊列,包含隊列名稱、消息數目、消費者數目、內存使用狀況、是否持久化、是否自動刪除
rabbitmqctl list_queues name messages counsumers memory durable auto_delete
// 查看交換機
rabbitmqctl list_exchanges [name] [type] [durable] [auto_delete]
// 列舉全部綁定 rabbitmqctl list_bindings [-p <vhost>]