Ubuntu和Docker下安装和卸载RabbitMQ
约 684 个字 63 行代码 预计阅读时间 3 分钟
安装RabbitMQ
RabbitMQ依赖Erlang运行时,因此安装前先安装Erlang,再安装RabbitMQ服务
更新系统和安装依赖
| Bash |
|---|
| sudo apt-get update -y
sudo apt-get install curl gnupg apt-transport-https -y
|
添加RabbitMQ官方仓库签名密钥和源
| Bash |
|---|
| # 添加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 |
|---|
| 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 |
|---|
| # 启动
sudo systemctl start rabbitmq-server
# 自动开机启动
sudo systemctl enable rabbitmq-server
# 查看状态
sudo systemctl status rabbitmq-server
|
启用管理插件(管理界面Web UI)
RabbitMQ 的管理界面不是默认启用的,需要手动开启:
| Bash |
|---|
| sudo rabbitmq-plugins enable rabbitmq_management
|
这个命令会启用管理控制台相关插件,不需要重启RabbitMQ服务。启用后UI默认监听 15672 端口
配置访问管理界面账户
默认RabbitMQ安装会有一个账号:
不过默认只能本地访问(localhost)管理界面。如果要远程访问或安全控制,建议新建用户:
| Bash |
|---|
| # 添加用户
sudo rabbitmqctl add_user 用户名 密码
# 设置为管理员
sudo rabbitmqctl set_user_tags admin administrator
# 允许该用户对默认虚拟主机 / 全部操作
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
|
这会创建一个名为 admin 的管理员账户
访问管理界面
在浏览器中打开:
如果是程序访问,则访问端口为5672
如果是远程服务器,需要将localhost替换成服务器IP或域名:
| Text Only |
|---|
| http://your-server-ip:15672
|
登录时用上一步设置的账号密码(默认guest/guest或你新建的admin)
卸载RabbitMQ
卸载时建议先停止服务,然后删除软件包和残留文件
停止RabbitMQ服务
| Bash |
|---|
| sudo systemctl stop rabbitmq-server
|
卸载软件包及配置
| Bash |
|---|
| # 完全卸载 RabbitMQ
sudo apt-get purge rabbitmq-server -y
# 清理依赖和未使用的软件包
sudo apt-get autoremove -y
|
删除残留文件(可选)
如果希望彻底清除所有数据与日志,执行:
| Bash |
|---|
| sudo rm -rf /etc/rabbitmq
sudo rm -rf /var/lib/rabbitmq
sudo rm -rf /var/log/rabbitmq
|
卸载 Erlang(可选)
如果Erlang是专为RabbitMQ安装的且不再需要:
| Bash |
|---|
| sudo apt-get purge erlang* -y
sudo apt-get autoremove -y
|
Warning
使用通配符erlang*删除所有Erlang相关包,但要确认系统中没有其他依赖Erlang的应用
Docker下安装带管理界面的RabbitMQ
拉取带管理界面的RabbitMQ镜像
RabbitMQ官方提供了带管理插件(management UI)预装的镜像版本,你可以直接使用带-management的tag
| Bash |
|---|
| docker pull rabbitmq:management
|
或者指定具体版本,例如:
| Bash |
|---|
| docker pull rabbitmq:3-management
|
这会下载包含Web管理界面(默认端口15672)的镜像
启动容器
最简单方式就是这样运行:
| Bash |
|---|
| docker run -d \
--name rabbitmq \
-p 5672:5672 \ # AMQP 消息服务端口
-p 15672:15672 \ # Web 管理界面端口
rabbitmq:management
|
说明:
- 5672:RabbitMQ 消息客户端连接端口
- 15672:管理界面 UI 访问端口
- 默认账号密码是
guest / guest
设置默认用户和密码(推荐)
如果想自定义默认登录账号,可以通过环境变量设置:
| Bash |
|---|
| 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 |
|---|
| docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_stomp rabbitmq_mqtt
|
或者通过挂载enabled_plugins文件到/etc/rabbitmq/并重启容器