【Rabbitmq】windows环境下搭建与使用

一、下载文件

Erlang安装

https://www.erlang.org/patches/OTP-26.2

下载安装包后一直下一步安装(可选择安装路径)

rabbitmq安装

https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.12.13/rabbitmq-server-3.12.13.exe

下载安装包后一直下一步安装(可选择安装路径)

二、安装及调试

1. 配置文件位置

Windows 默认路径(没有就新建):

plaintext

复制代码
%APPDATA%\RabbitMQ\rabbitmq.conf
# 即:C:\Users\[你的用户名]\AppData\Roaming\RabbitMQ\rabbitmq.conf

或安装目录下:

plaintext

复制代码
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.13.x\etc\rabbitmq\rabbitmq.conf

2. 常用完整配置(直接复制使用)

ini

复制代码
# --------------------------
# 1. 网络与端口
# --------------------------
# AMQP 端口(默认5672),允许所有IP访问
listeners.tcp.default = 0.0.0.0:5672
# 管理后台端口(默认15672)
management.tcp.port = 15672
# 允许 guest 远程登录(生产不建议,仅测试)
loopback_users = none

# --------------------------
# 2. 默认用户(生产必改)
# --------------------------
default_user = admin
default_pass = Admin@123456
default_vhost = /
default_user_tags.administrator = true

# --------------------------
# 3. 日志与数据目录
# --------------------------
log.console = true
log.file = true
log.dir = ${APPDATA}/RabbitMQ/log
mnesia.dir = ${APPDATA}/RabbitMQ/db

# --------------------------
# 4. 内存与磁盘限制
# --------------------------
vm_memory_high_watermark.relative = 0.4
disk_free_limit.absolute = 5GB

3. 高级配置(advanced.config,可选)

同目录新建 advanced.config

erlang

复制代码
[
 {rabbit, [
   {cluster_partition_handling, autoheal},
   {queue_index_embed_msgs_below, 4096}
 ]}
].

启用 Web 管理插件(必做)

以管理员身份打开 CMD / PowerShell

bash

运行

复制代码
# 启用管理插件
rabbitmq-plugins enable rabbitmq_management

# 重启服务生效
rabbitmq-service.bat stop
rabbitmq-service.bat start

访问管理后台:

plaintext

复制代码
http://localhost:15672
# 账号:admin / Admin@123456(你配置的)

Windows 服务管理(常用命令)

bash

运行

复制代码
# 安装服务(一般安装包已自动装)
rabbitmq-service.bat install

# 启动
rabbitmq-service.bat start
# 或
net start RabbitMQ

# 停止
rabbitmq-service.bat stop
# 或
net stop RabbitMQ

# 重启
rabbitmq-service.bat restart

# 查看状态
rabbitmqctl.bat status

# 卸载服务
rabbitmq-service.bat remove

用户与权限(生产安全)

bash

运行

复制代码
# 查看用户
rabbitmqctl list_users

# 新建管理员用户
rabbitmqctl add_user admin Admin@123456
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

# 删除默认 guest(安全)
rabbitmqctl delete_user guest

# 查看权限
rabbitmqctl list_permissions -p /

防火墙开放端口(远程访问)

以管理员 PowerShell 执行:

powershell

复制代码
# AMQP 5672
New-NetFirewallRule -DisplayName "RabbitMQ 5672" -Direction Inbound -Protocol TCP -LocalPort 5672 -Action Allow

# 管理后台 15672
New-NetFirewallRule -DisplayName "RabbitMQ 15672" -Direction Inbound -Protocol TCP -LocalPort 15672 -Action Allow

常见问题

  1. 服务启动失败
    • 检查 ERLANG_HOME 与 Path 是否正确
    • 路径不要中文、空格
    • 以管理员身份运行命令
  2. 远程无法访问 15672
    • rabbitmq.confloopback_users = none
    • 防火墙开放 15672
    • 监听 0.0.0.0:15672
  3. 配置不生效
    • 修改后必须 重启服务
    • 确认配置文件路径正确

快速验证

  1. 服务状态:rabbitmqctl status

  2. 管理后台:http://localhost:15672

  3. 端口监听: bash

    运行

    复制代码
    netstat -ano | findstr :5672
    netstat -ano | findstr :15672
相关推荐
gQ85v10Db13 小时前
Redis分布式锁进阶第十七篇:微服务分布式锁全局治理 + 跨团队统一规范落地 + 全链路稳定性提升方案
redis·分布式·微服务
gQ85v10Db20 小时前
Redis分布式锁进阶第十八篇:本地缓存+分布式锁双锁架构 + 高并发削峰兜底 + 极致性能无损优化实战
redis·分布式·缓存
小江的记录本20 小时前
【Kafka核心】Kafka高性能的四大核心支柱:零拷贝、批量发送、页缓存、压缩
java·数据库·分布式·后端·缓存·kafka·rabbitmq
gQ85v10Db20 小时前
Redis分布式锁进阶第十四篇:全系列终局架构复盘 + 锁体系统一规范 + 线上全年零事故收官方案
redis·分布式·架构
KmSH8umpK21 小时前
Redis分布式锁进阶第十二篇
数据库·redis·分布式
gQ85v10Db21 小时前
Redis分布式锁进阶第十六篇:番外高阶避坑篇 + 隐性埋点锁故障深挖 + 疑难杂症终极兜底方案
数据库·redis·分布式
KmSH8umpK1 天前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第九篇
数据库·redis·分布式
gQ85v10Db1 天前
Redis分布式锁进阶第十五篇:全系列终极收官复盘 + 全站锁规范归档 + 生产零故障长期运维兜底总方案
运维·redis·分布式
_F_y1 天前
仿RabbitMQ实现消息队列-服务端核心模块实现(5)
分布式·rabbitmq
Lyyaoo.1 天前
Redis实现分布式锁
数据库·redis·分布式