sudo systemctl stop rabbitmq-server
sudo cp -a /var/lib/rabbitmq /var/lib/rabbitmq-backup
sudo cp -a /etc/rabbitmq /etc/rabbitmq-backup
erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
若版本不匹配,需先升级Erlang(参考RabbitMQ官方Erlang版本要求)。rabbitmq-server-3.10.0-1.el7.noarch.rpm)。若已安装旧版RabbitMQ或Erlang,先彻底卸载以避免冲突:
sudo yum remove -y rabbitmq-server erlang*
若Erlang未升级或版本不符,通过RabbitMQ官方提供的YUM仓库安装兼容版本:
vi /etc/yum.repos.d/rabbitmq_erlang.repo
内容如下(以CentOS 7为例):[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
sudo yum install erlang -y
erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell # 验证版本
使用rpm命令安装下载的RabbitMQ RPM包:
sudo rpm -ivh rabbitmq-server-3.10.0-1.el7.noarch.rpm
sudo rm -rf /var/lib/rabbitmq/mnesia/*
sudo cp /etc/rabbitmq-backup/rabbitmq.conf /etc/rabbitmq/rabbitmq.conf
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server # 设置开机自启
sudo rabbitmq-plugins enable rabbitmq_management
sudo rabbitmqctl status | grep -i version
http://<服务器IP>:15672,使用默认用户guest(仅本地访问)或自定义用户登录,确认管理界面正常。若为RabbitMQ集群,需采用滚动升级(逐节点升级,确保集群高可用):
sudo systemctl stop rabbitmq-serversudo systemctl start rabbitmq-serversudo rabbitmqctl cluster_status,确保所有节点已加入集群。