下载地址/官网:RabbitMQ Download
RabbitMQ 适合后续做邮件异步发送、低延迟任务分发、失败重试这类业务消息。它强在路由能力和确认机制,不适合当超高吞吐日志管道使用。
端口和用途
| 端口 | 用途 |
|---|---|
| 5672 | AMQP,应用连接使用 |
| 15672 | Web 管理页面 |
生产环境只开放 5672 给应用服务器,15672 建议走内网或 SSH 隧道访问。
Windows 安装部署 RabbitMQ
- 先安装 Erlang/OTP:
打开 Erlang Downloads,下载 Windows x64 安装包,以管理员身份安装。
- 再安装 RabbitMQ:
打开 RabbitMQ Windows 安装文档,下载社区版安装包并安装。
- 确认服务:
Get-Service RabbitMQ
- 进入安装目录启用管理页面,路径中的版本号按实际安装版本调整:
Set-Location "C:\Program Files\RabbitMQ Server\rabbitmq_server-版本号\sbin"
.\rabbitmq-plugins.bat enable rabbitmq_management
- 重启服务并访问:
Restart-Service RabbitMQ
浏览器打开:
http://127.0.0.1:15672/
默认账号密码都是 guest。这个账号只允许本机访问,远程管理要新建账号。
Ubuntu 安装部署 RabbitMQ
- 安装服务和管理插件:
sudo apt update
sudo apt install -y rabbitmq-server
sudo rabbitmq-plugins enable rabbitmq_management
- 启动并设为开机自启:
sudo systemctl enable --now rabbitmq-server
sudo systemctl status rabbitmq-server --no-pager
- 创建管理员账号:
sudo rabbitmqctl add_user zjc-admin 'your-strong-password'
sudo rabbitmqctl set_user_tags zjc-admin administrator
sudo rabbitmqctl set_permissions -p / zjc-admin ".*" ".*" ".*"
- 创建应用账号,只给基础权限:
sudo rabbitmqctl add_user springvortex-app 'your-app-password'
sudo rabbitmqctl set_permissions -p / springvortex-app ".*" ".*" ".*"
- 验证端口:
ss -lntp | grep -E '5672|15672'
macOS 安装部署 RabbitMQ
- 安装:
brew install rabbitmq
- 启动:
brew services start rabbitmq
- 启用管理页面:
rabbitmq-plugins enable rabbitmq_management
- 验证:
rabbitmq-diagnostics ping
rabbitmq-diagnostics status
浏览器访问:
http://127.0.0.1:15672/
生产部署建议
guest只能本机使用,生产必须创建独立账号。- 应用账号不要直接给 administrator 标签。
- 队列和交换机的声明要固定,不要每次发布随手改变定义。
- 发送方开启 publisher confirm,消费方开启 manual ack。
- 死信队列提前设计好,失败消息要能追踪和重放。
- 消息体里不要放大对象,更不要放数据库密码、密钥这类敏感信息。
常见问题
登录管理页提示 User can only log in via localhost,说明正在用 guest 远程登录。换管理员账号,或通过 SSH 隧道访问。
应用连接失败时,依次确认账号密码、虚拟主机、5672 端口和防火墙。
消息堆积时先看管理页的消费者状态,不要盲目重启。多数情况是消费者挂了、处理阻塞,或者 ack 策略写错。