Windows 11 安装 RabbitMQ 消息队列(完整规范版)
Windows 11 安装 RabbitMQ 消息队列极简 完整步骤核心前提RabbitMQ 依赖Erlang必须先装 Erlang、再装 RabbitMQ且版本必须匹配。一、版本选择Windows 11 稳定组合Erlang26.264 位RabbitMQ3.13.0稳定兼容安装路径禁止中文、空格、特殊字符如D:\Develop\Erlang、D:\Develop\RabbitMQ二、第一步安装 Erlang必须先装2.1 下载官方https://www.erlang.org/downloads国内镜像推荐https://mirrors.aliyun.com/erlang/otp/下载otp_win64_26.2.exe2.2 安装管理员权限右键安装包 →以管理员身份运行自定义路径D:\Develop\Erlang一路 Next → Install → 完成2.3 配置环境变量关键此电脑 → 右键 → 属性 → 高级系统设置 → 环境变量系统变量→ 新建变量名ERLANG_HOME变量值D:\Develop\Erlang你的安装根目录编辑Path→ 新建plaintext%ERLANG_HOME%\bin保存 → 重启 CMD2.4 验证管理员 CMD 执行bash运行erl -v出现版本号如Erlang/OTP 26.2即成功。三、第二步安装 RabbitMQ3.1 下载官方https://github.com/rabbitmq/rabbitmq-server/releases下载rabbitmq-server-3.13.0.exe3.2 安装管理员权限右键安装包 →以管理员身份运行自定义路径D:\Develop\RabbitMQ一路 Next → Install → 完成自动注册为 Windows 服务3.3 配置环境变量可选方便命令行编辑Path→ 新建plaintextD:\Develop\RabbitMQ\sbin保存 → 重启 CMD四、第三步启动服务 开启 Web 管理控制台4.1 启动 RabbitMQ 服务管理员 CMD 执行bash运行# 启动服务 rabbitmq-service start # 停止服务如需 rabbitmq-service stop # 重启服务 rabbitmq-service restart4.2 开启 Web 管理插件可视化界面bash运行rabbitmq-plugins enable rabbitmq_management✅ 成功提示Plugin configuration unchanged.五、第四步登录管理控制台浏览器访问plaintexthttp://localhost:15672默认账号 / 密码plaintext账号guest 密码guest登录成功即可管理队列、交换机、消息等。六、常用命令管理员 CMD表格功能命令启动服务rabbitmq-service start停止服务rabbitmq-service stop重启服务rabbitmq-service restart开启管理界面rabbitmq-plugins enable rabbitmq_management查看所有用户rabbitmqctl list_users查看所有队列rabbitmqctl list_queues查看插件状态rabbitmq-plugins list七、常见问题与解决方案7.1 启动报错Erlang 未找到原因版本不匹配 / 环境变量未配置 / 未用管理员权限解决核对版本Erlang 26.x RabbitMQ 3.13.x检查ERLANG_HOME和Path配置重启电脑用管理员 CMD 重试7.2 无法登录管理控制台原因未开启管理插件 / 端口 15672 被占用解决执行rabbitmq-plugins enable rabbitmq_management检查端口netstat -ano | findstr :15672杀死占用进程7.3 服务启动后自动停止错误 1067原因安装路径含中文 / 空格 / 旧数据冲突解决卸载 RabbitMQ重装到纯英文路径删除数据目录C:\Users\你的用户名\AppData\Roaming\RabbitMQ重启电脑后重试7.4 Java 连接失败原因服务未启动 / 账号密码错误 / 端口 5672 被占用解决启动服务确认guest账号可用检查 5672 端口netstat -ano | findstr :5672八、Spring Boot 快速示例生产者 消费者8.1 pom.xmlxmldependencies dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-amqp/artifactId /dependency /dependencies8.2 application.ymlyamlspring: rabbitmq: host: 127.0.0.1 port: 5672 username: guest password: guest queue-name: test_queue8.3 队列配置java运行import org.springframework.amqp.core.Queue; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; Configuration public class RabbitConfig { Value(${spring.rabbitmq.queue-name}) private String queueName; Bean public Queue testQueue() { return new Queue(queueName, true); } }8.4 生产者java运行import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; RestController public class Producer { Autowired private RabbitTemplate rabbitTemplate; Value(${spring.rabbitmq.queue-name}) private String queueName; GetMapping(/send) public String send() { String msg Hello RabbitMQ Win11!; rabbitTemplate.convertAndSend(queueName, msg); return 发送成功 msg; } }8.5 消费者java运行import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; Component public class Consumer { RabbitListener(queues ${spring.rabbitmq.queue-name}) public void receive(String msg) { System.out.println(收到消息 msg); } }8.6 测试启动项目访问http://localhost:8080/send控制台打印收到消息控制台队列同步更新