环境安装
本章将介绍如何在不同环境下安装 RabbitMQ,包括 Windows、Linux 和 Docker 三种方式。
推荐方式
对于初学者,强烈推荐使用 Docker 安装,一行命令即可完成,简单快捷!
🐳 Docker 安装(推荐)
前置条件
确保已安装 Docker,可以通过以下命令检查:
docker --version
一键安装
# 拉取带管理界面的 RabbitMQ 镜像
docker pull rabbitmq:3.12-management
# 启动 RabbitMQ 容器
docker run -d \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin123 \
rabbitmq:3.12-management
参数说明:
| 参数 | 说明 |
|---|---|
-d | 后台运行 |
--name rabbitmq | 容器名称 |
-p 5672:5672 | AMQP 协议端口(程序连接用) |
-p 15672:15672 | Web 管理界面端口 |
-e RABBITMQ_DEFAULT_USER | 默认用户名 |
-e RABBITMQ_DEFAULT_PASS | 默认密码 |
验证安装
# 查看容器状态
docker ps
# 查看容器日志
docker logs rabbitmq
访问管理界面:http://localhost:15672
- 用户名:
admin - 密码:
admin123
Docker Compose 方式
创建 docker-compose.yml 文件:
version: '3.8'
services:
rabbitmq:
image: rabbitmq:3.12-management
container_name: rabbitmq
ports:
- "5672:5672"
- "15672:15672"
environment:
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=admin123
volumes:
- rabbitmq_data:/var/lib/rabbitmq
restart: unless-stopped
volumes:
rabbitmq_data:
启动:
docker-compose up -d
🪟 Windows 安装
1. 安装 Erlang
RabbitMQ 是用 Erlang 语言编写的,需要先安装 Erlang 运行环境。
- 下载 Erlang:https://www.erlang.org/downloads
- 选择 Windows 64-bit 版本下载
- 双击安装,一路 Next 即可
- 配置环境变量(通常安装程序会自动配置)
验证安装:
erl -version
2. 安装 RabbitMQ
- 下载 RabbitMQ:https://www.rabbitmq.com/download.html
- 选择 Windows 版本下载
- 双击安装,使用默认设置即可
3. 启用管理插件
以管理员身份打开命令提示符:
# 进入 RabbitMQ 安装目录的 sbin 文件夹
cd "C:\Program Files\RabbitMQ Server\rabbitmq_server-3.12.x\sbin"
# 启用管理插件
rabbitmq-plugins enable rabbitmq_management
4. 启动服务
# 启动 RabbitMQ 服务
net start RabbitMQ
或者在服务管理器中启动 RabbitMQ 服务。
5. 创建管理员用户
默认的 guest 用户只能本地访问,需要创建新用户:
# 添加用户
rabbitmqctl add_user admin admin123
# 设置用户角色为管理员
rabbitmqctl set_user_tags admin administrator
# 设置用户权限(配置、写入、读取所有资源)
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
🐧 Linux 安装(Ubuntu/Debian)
1. 添加 RabbitMQ 仓库
# 更新软件包列表
sudo apt-get update
# 安装必要的依赖
sudo apt-get install curl gnupg apt-transport-https -y
# 添加 RabbitMQ 签名密钥
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
# 添加 Erlang 仓库
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg > /dev/null
# 添加 RabbitMQ 仓库
curl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/rabbitmq.9F4587F226208342.gpg > /dev/null
2. 安装 Erlang 和 RabbitMQ
# 添加仓库源
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
deb [signed-by=/usr/share/keyrings/rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu jammy main
deb [signed-by=/usr/share/keyrings/rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu jammy main
EOF
# 更新并安装
sudo apt-get update
sudo apt-get install -y erlang-base erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools \
erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
sudo apt-get install rabbitmq-server -y
3. 启动服务
# 启动 RabbitMQ 服务
sudo systemctl start rabbitmq-server
# 设置开机自启
sudo systemctl enable rabbitmq-server
# 查看服务状态
sudo systemctl status rabbitmq-server
4. 启用管理插件
sudo rabbitmq-plugins enable rabbitmq_management
5. 创建管理员用户
# 添加用户
sudo rabbitmqctl add_user admin admin123
# 设置管理员角色
sudo rabbitmqctl set_user_tags admin administrator
# 设置权限
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
🖥️ 管理界面介绍
安装完成后,访问 http://localhost:15672 打开 RabbitMQ 管理界面。
Overview(概览)
显示 RabbitMQ 服务器的整体状态:
- Totals:消息总数、消息速率
- Nodes:节点状态、内存使用、文件描述符
- Ports and contexts:监听的端口信息
Connections(连接)
显示所有客户端连接:
- 连接名称
- 用户名
- 状态
- 通道数量
Channels(通道)
显示所有通道信息:
- 通道名称
- 所属连接
- 消息确认状态
Exchanges(交换机)
管理交换机:
- 添加/删除交换机
- 查看交换机绑定
- 发布测试消息
Queues(队列)
管理队列:
- 添加/删除队列
- 查看队列消息
- 清空队列
- 获取消息
Admin(管理)
用户和权限管理:
- 添加/删除用户
- 设置用户角色
- 配置虚拟主机
🔧 常用命令
服务管理
# 启动服务
rabbitmq-server # 前台启动
rabbitmq-server -detached # 后台启动
# 停止服务
rabbitmqctl stop
# 查看状态
rabbitmqctl status
# 查看集群状态
rabbitmqctl cluster_status
用户管理
# 列出所有用户
rabbitmqctl list_users
# 添加用户
rabbitmqctl add_user <username> <password>
# 删除用户
rabbitmqctl delete_user <username>
# 修改密码
rabbitmqctl change_password <username> <new_password>
# 设置用户角色
rabbitmqctl set_user_tags <username> <tag>
# tag: management, policymaker, monitoring, administrator
权限管理
# 设置权限
rabbitmqctl set_permissions -p <vhost> <username> <conf> <write> <read>
# 示例:授予所有权限
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
# 查看权限
rabbitmqctl list_permissions -p /
# 清除权限
rabbitmqctl clear_permissions -p / <username>
队列管理
# 列出所有队列
rabbitmqctl list_queues
# 列出队列详细信息
rabbitmqctl list_queues name messages consumers
# 清空队列
rabbitmqctl purge_queue <queue_name>
# 删除队列
rabbitmqctl delete_queue <queue_name>
插件管理
# 列出所有插件
rabbitmq-plugins list
# 启用插件
rabbitmq-plugins enable <plugin_name>
# 禁用插件
rabbitmq-plugins disable <plugin_name>
# 常用插件
rabbitmq-plugins enable rabbitmq_management # 管理界面
rabbitmq-plugins enable rabbitmq_delayed_message_exchange # 延时消息
✅ 安装验证
完成安装后,进行以下验证:
1. 检查服务状态
# Docker
docker ps | grep rabbitmq
# Linux
systemctl status rabbitmq-server
# Windows
sc query RabbitMQ
2. 检查端口
# 检查 5672 端口(AMQP)
netstat -an | grep 5672
# 检查 15672 端口(管理界面)
netstat -an | grep 15672
3. 访问管理界面
打开浏览器访问:http://localhost:15672
使用创建的管理员账号登录。
4. Java 连接测试
创建一个简单的 Java 项目测试连接:
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
public class ConnectionTest {
public static void main(String[] args) throws Exception {
// 创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
factory.setPort(5672);
factory.setUsername("admin");
factory.setPassword("admin123");
// 创建连接
try (Connection connection = factory.newConnection()) {
System.out.println("✅ RabbitMQ 连接成功!");
System.out.println("连接信息: " + connection);
}
}
}
如果输出 "RabbitMQ 连接成功!",说明安装配置正确。
📝 本章小结
本章介绍了三种安装 RabbitMQ 的方式:
| 方式 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|
| Docker | 简单快捷,环境隔离 | 需要安装 Docker | 开发测试 |
| Windows | 图形界面安装 | 配置相对复杂 | Windows 开发 |
| Linux | 适合生产环境 | 需要命令行操作 | 生产部署 |
下一步
环境搭建完成后,让我们学习 RabbitMQ 核心概念!
