跳转至

Ubuntu和Docker下安装和卸载RabbitMQ

约 684 个字 63 行代码 预计阅读时间 3 分钟

安装RabbitMQ

RabbitMQ依赖Erlang运行时,因此安装前先安装Erlang,再安装RabbitMQ服务

更新系统和安装依赖

Bash
1
2
sudo apt-get update -y
sudo apt-get install curl gnupg apt-transport-https -y

添加RabbitMQ官方仓库签名密钥和源

Bash
1
2
3
4
5
6
7
8
# 添加RabbitMQ签名密钥
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" \
  | sudo gpg --dearmor -o /usr/share/keyrings/com.rabbitmq.team.gpg

# 添加APT源(以Ubuntu版本名替换<UBUNTU_CODENAME>如jammy, noble)
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] \
  https://deb1.rabbitmq.com/rabbitmq-server/ubuntu <UBUNTU_CODENAME> main" | \
  sudo tee /etc/apt/sources.list.d/rabbitmq.list

Note

如果不确定Ubuntu发行版代号,可用命令lsb_release -cs或者lsb_release -a查看

安装Erlang和RabbitMQ

Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
sudo apt-get update -y

# 安装Erlang(RabbitMQ依赖)
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-tools

# 安装RabbitMQ
sudo apt-get install rabbitmq-server -y

安装完成后,RabbitMQ服务会自动启用并作为systemd服务启动

启动/管理RabbitMQ

Bash
1
2
3
4
5
6
7
8
# 启动
sudo systemctl start rabbitmq-server

# 自动开机启动
sudo systemctl enable rabbitmq-server

# 查看状态
sudo systemctl status rabbitmq-server

启用管理插件(管理界面Web UI)

RabbitMQ 的管理界面不是默认启用的,需要手动开启:

Bash
1
sudo rabbitmq-plugins enable rabbitmq_management

这个命令会启用管理控制台相关插件,不需要重启RabbitMQ服务。启用后UI默认监听 15672 端口

配置访问管理界面账户

默认RabbitMQ安装会有一个账号:

Text Only
1
2
用户名: guest
密码: guest

不过默认只能本地访问(localhost)管理界面。如果要远程访问或安全控制,建议新建用户:

Bash
1
2
3
4
5
6
7
8
# 添加用户
sudo rabbitmqctl add_user 用户名 密码

# 设置为管理员
sudo rabbitmqctl set_user_tags admin administrator

# 允许该用户对默认虚拟主机 / 全部操作
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

这会创建一个名为 admin 的管理员账户

访问管理界面

在浏览器中打开:

Text Only
1
http://localhost:15672

如果是程序访问,则访问端口为5672

如果是远程服务器,需要将localhost替换成服务器IP或域名:

Text Only
1
http://your-server-ip:15672

登录时用上一步设置的账号密码(默认guest/guest或你新建的admin

卸载RabbitMQ

卸载时建议先停止服务,然后删除软件包和残留文件

停止RabbitMQ服务

Bash
1
sudo systemctl stop rabbitmq-server

卸载软件包及配置

Bash
1
2
3
4
5
# 完全卸载 RabbitMQ
sudo apt-get purge rabbitmq-server -y

# 清理依赖和未使用的软件包
sudo apt-get autoremove -y

删除残留文件(可选)

如果希望彻底清除所有数据与日志,执行:

Bash
1
2
3
sudo rm -rf /etc/rabbitmq
sudo rm -rf /var/lib/rabbitmq
sudo rm -rf /var/log/rabbitmq

卸载 Erlang(可选)

如果Erlang是专为RabbitMQ安装的且不再需要:

Bash
1
2
sudo apt-get purge erlang* -y
sudo apt-get autoremove -y

Warning

使用通配符erlang*删除所有Erlang相关包,但要确认系统中没有其他依赖Erlang的应用

Docker下安装带管理界面的RabbitMQ

拉取带管理界面的RabbitMQ镜像

RabbitMQ官方提供了带管理插件(management UI)预装的镜像版本,你可以直接使用带-management的tag

Bash
1
docker pull rabbitmq:management

或者指定具体版本,例如:

Bash
1
docker pull rabbitmq:3-management

这会下载包含Web管理界面(默认端口15672)的镜像

启动容器

最简单方式就是这样运行:

Bash
1
2
3
4
5
docker run -d \
  --name rabbitmq \
  -p 5672:5672 \      # AMQP 消息服务端口
  -p 15672:15672 \    # Web 管理界面端口
  rabbitmq:management

说明:

  • 5672:RabbitMQ 消息客户端连接端口
  • 15672:管理界面 UI 访问端口
  • 默认账号密码是guest / guest

设置默认用户和密码(推荐)

如果想自定义默认登录账号,可以通过环境变量设置:

Bash
1
2
3
4
5
6
7
docker run -d \
  --name rabbitmq \
  -p 5672:5672 \
  -p 15672:15672 \
  -e RABBITMQ_DEFAULT_USER=admin \
  -e RABBITMQ_DEFAULT_PASS=123456 \
  rabbitmq:management

这样在浏览器打开管理界面时,就能用admin / 123456登录

扩展与插件(可选)

默认管理插件已启用。如果需要额外插件(如MQTT、STOMP等),可以在Dockerfile或容器启动后启用:

Bash
1
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_stomp rabbitmq_mqtt

或者通过挂载enabled_plugins文件到/etc/rabbitmq/并重启容器