RabbitMQ 基於 Erlang/OTP 運行,Windows 下安裝鏈路:Erlang OTP → RabbitMQ Server → 環境變量 → 啟用 Management Plugin → 驗證控制台。本文覆蓋完整步驟、踩坑避雷與生產級常用運維命令。
otp_win64_26.0.exe)。C:\Program Files\erl-14.0(版本號隨版本變化),一路 Next 完成。rabbitmq-server-3.12.x.exe(匹配 Erlang 版本)。C:\Program Files\RabbitMQ Server\rabbitmq_server-3.12.x。RabbitMQ。以管理員身份打開「編輯系統環境變量」,新建/編輯系統變量:
| 變量名 | 變量值示例 | 說明 |
|---|---|---|
ERLANG_HOME | C:\Program Files\erl-14.0 | Erlang 安裝根目錄 |
RABBITMQ_SERVER | C:\Program Files\RabbitMQ Server\rabbitmq_server-3.12.x | RabbitMQ 安裝根目錄 |
Path | 追加 %ERLANG_HOME%\bin;%RABBITMQ_SERVER%\sbin | 使 erl、rabbitmqctl、rabbitmq-plugins 全局可用 |
⚠️ 注意:Path 中使用分號 ; 分隔,修改後必須重新打開 CMD/PowerShell 生效。
%RABBITMQ_SERVER%\sbin。rabbitmq-plugins enable rabbitmq_management
輸出包含 Enabling plugins on node rabbit@DESKTOP-xxx: rabbitmq_management 及依賴插件列表即成功。
rabbitmq-service start
https://localhost:15672。guest / guest(僅限 localhost 訪問)。| 分類 | 命令 | 作用 |
|---|---|---|
| 插件管理 | rabbitmq-plugins enable rabbitmq_management | 啟用管理控制台 |
rabbitmq-plugins disable rabbitmq_management | 禁用管理控制台 | |
| 服務控制 | rabbitmq-service start | 啟動 RabbitMQ 服務 |
rabbitmq-service stop | 停止 RabbitMQ 服務 | |
| 隊列/消息 | rabbitmqctl list_queues | 列出所有隊列(名稱、消息數、消費者數) |
rabbitmqctl list_queues name messages consumers | 自定義顯示列 | |
rabbitmqctl purge_queue <queue_name> | 清空指定隊列消息 | |
rabbitmqctl reset | 危險:重置節點(清空所有數據、配置、用戶) | |
rabbitmqctl stop_app | 停止應用層(保留 Erlang VM,便於維護) | |
rabbitmqctl start_app | 啟動應用層 | |
| 用戶權限 | rabbitmqctl add_user <username> <password> | 創建用戶 |
rabbitmqctl set_user_tags <username> administrator | 分配標簽:administrator/monitoring/policymaker/management | |
rabbitmqctl add_vhost <vhost_name> | 創建虛擬主機(邏輯隔離) | |
rabbitmqctl set_permissions -p <vhost> <user> ".*" ".*" ".*" | 授權:configure/write/read 正則匹配 | |
rabbitmqctl delete_user <username> | 刪除用戶 |
| 標簽 | 權限範圍 | 典型用途 |
|---|---|---|
| none | 無管理權限,僅作為普通客戶端連接 | 應用服務賬號 |
| management | 查看自身連接/隊列,無法跨用戶 | 開發/監控只讀賬號 |
| policymaker | 管理策略、參數,無法操作用戶/虛擬主機 | 運維策略管理員 |
| monitoring | 查看全局指標、連接、隊列,不可變更 | 監控系統採集賬號 |
| administrator | 最高權限:用戶、虛擬主機、權限、策略、插件全控 | 平台管理員 |
netstat -ano | findstr :15672 找到 PID → 任務管理器結束進程或修改 rabbitmq.conf 端口。rabbitmq.conf 添加 loopback_users.guest = false(不推薦生產)。.erlang.cookie 必須一致,Windows 路徑 C:\Windows\.erlang.cookie 或 %USERPROFILE%\.erlang.cookie。Windows 下部署 RabbitMQ 核心在於 Erlang 路徑規範、環境變量精確、插件啟用、防火牆放行 四大塊。掌握 rabbitmqctl 與 rabbitmq-plugins 核心命令,配合 Management UI 可視化運維,即可覆蓋開發、測試、中小型生產場景。大規模生產建議遷移至 Linux + 容器化部署,享受更穩定的 Erlang VM 調度與生態工具鏈。