【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
相关推荐
qq_297574672 小时前
【Kafka系列·进阶第三篇】流处理与数据治理实战:Streams实时计算+Schema校验+多租户管控
分布式·kafka·linq
新缸中之脑3 小时前
Meta新模型Muse Spark上手体验
大数据·分布式·spark
Rick19933 小时前
Kafka 的 ISR 是什么
分布式·kafka
Thomas21433 小时前
pyspark 新接口 DataSource V2 写法 写入paimon为例
大数据·分布式·spark
REDcker4 小时前
RabbitMQ系列04 - 流控与信用机制
分布式·rabbitmq
謓泽4 小时前
2022年江西省大学生电子设计竞赛 H 题 — 分布式监控系统
分布式·电赛
rannn_1114 小时前
【Redis|高级篇2】多级缓存|JVM进程缓存、Lua语法、多级缓存实现(OpenResty)、缓存同步(Canal)
java·redis·分布式·后端·缓存·lua·openresty
Rick199317 小时前
Redis 分布式锁:核心使用场景
数据库·redis·分布式
墨北小七20 小时前
小说大模型的分布式训练——数据并行架构设计与实现
分布式