Ubuntu 上 RabbitMQ 版本升级指南
一 升级前准备
sudo systemctl status rabbitmq-server、rabbitmqctl status、rabbitmq-plugins list、sudo systemctl is-active rabbitmq-server。二 使用 APT 原地升级(推荐)
sudo apt updateapt policy rabbitmq-server(查看可升级版本与仓库优先级)sudo apt install --only-upgrade rabbitmq-serversudo apt install rabbitmq-server=<version>(将 sudo systemctl restart rabbitmq-serverrabbitmqctl status 与 sudo systemctl is-active rabbitmq-server 确认运行状态与版本sudo apt install rabbitmq-server=<old_version> 恢复到上一个已知良好版本,并重启服务三 使用官方仓库安装或跨版本升级
sudo apt-get install -y curl gnupg apt-transport-httpscurl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /devrefcurl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/gpg.E495BB49CC4BBE5B.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg > /devrefcurl -1sLf https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/gpg.9F4587F226208342.key | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg > /devrefsudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
deb [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu bionic maindeb-src [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.E495BB49CC4BBE5B.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/deb/ubuntu bionic maindeb [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu bionic maindeb-src [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.9F4587F226208342.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu bionic mainEOFsudo apt-get update -ysudo 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-xmerlsudo apt-get install -y rabbitmq-server --fix-missingrabbitmqctl status、sudo systemctl is-active rabbitmq-server四 升级后验证与常见问题
rabbitmqctl status(查看节点与运行时信息)sudo systemctl status rabbitmq-server(确保服务为 active (running))rabbitmq-plugins list(确认常用插件如 rabbitmq_management 处于期望状态)rabbitmqctl cluster_status(检查节点列表、分区状态与镜像队列同步情况)sudo apt-get install -f 自动补齐依赖。五 回滚与卸载
sudo apt install rabbitmq-server=<old_version>,随后 sudo systemctl restart rabbitmq-server 并验证。sudo apt-get remove rabbitmq-serversudo apt autoremove --purge <残留包名>(按 dpkg --list | grep rabbitmq 结果逐一清理)sudo apt-get remove erlang 并清理残留(按 dpkg --list | grep erlang 结果逐一清理)