如何在 Ubuntu22.04 上安装并开始使用 RabbitMQ

单体架构学的差不多了,可以朝着微服务进军了,笔者打算实操一下 RabbitMQ(这个和 Redis 一样重要的组件) 笔者这里采用的是本地 wsl2 的 Ubuntu22.04

先按指定的博客进行前置操作Ubuntu22.04 安装 RabbitMQ

解决 ARM Ubuntu 22.04 缺少 libssl 1.1 的问题

在安装 RabbitMQ 时,出现以下的报错信息

提示缺少依赖 libssl1.1,于是使用 apt 安装一下

c++ 复制代码
sudo apt install libssl1.1

发现找不到这个依赖包

经查阅资料了解到,在 Ubuntu 18.04 以后的版本中,libssl1.1 已经从仓库中被移除了,因此在 Ubuntu 20.04 和 Ubuntu 22.04 系统下,我们只能手动安装这个依赖包。

由于网上大多数教程都是基于 x86_64 平台的,使用的仓库和 ARM 平台是不同的。我们可以用浏览器打开官方的 ubuntu-ports 仓库来下载 libssl1.1,选择libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb然后单击下载

如果你的 Ubuntu 系统没有图形化界面,也可以使用 wget 命令来下载

c++ 复制代码
wget https://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb

依赖包下载完成后,进入其所在的目录(wget安装的软件一般在本目录),使用软件安装工具 dpkg 来安装

c++ 复制代码
sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb

再执行安装 Erlang命令

c++ 复制代码
## Install Erlang packages
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

安装成功

执行安装 RabbitMQ 命令
c++ 复制代码
## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing

出现报错, 如下

仔细看看报错,初步猜测为版本对应不上

询问 deepseek

你的错误提示表明,rabbitmq-server 依赖 Erlang 26.0 或更高版本 ,但你的系统上安装的是 Erlang 25.2.31:25.2.3-1),导致版本冲突。

解决方法:

1. 升级 Erlang 到 26.0+

RabbitMQ 3.12.x 需要 Erlang 26.0+,而你的系统可能默认安装的是较旧的 Erlang 25.x。你需要先升级 Erlang:

  • Ubuntu/Debian (推荐使用 Erlang Solutions 提供的包):

    bash 复制代码
    # 添加 Erlang Solutions 仓库
    wget https://packages.erlang-solutions.com/erlang-solutions_2.0_all.deb
    sudo dpkg -i erlang-solutions_2.0_all.deb
    sudo apt-get update
    
    # 安装 Erlang 26+
    sudo apt-get install esl-erlang
  • CentOS/RHEL

    bash 复制代码
    # 添加 Erlang Solutions 仓库
    sudo yum install https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
    sudo yum install esl-erlang
2. 安装兼容的 RabbitMQ 版本

如果你无法升级 Erlang,可以安装一个 兼容 Erlang 25.x 的 RabbitMQ 版本

  • RabbitMQ 3.11.x (支持 Erlang 25.x)
    例如:

    bash 复制代码
    sudo apt-get install rabbitmq-server=3.11.26-1

    或手动下载:

    bash 复制代码
    wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.26/rabbitmq-server_3.11.26-1_all.deb
    sudo dpkg -i rabbitmq-server_3.11.26-1_all.deb

检查版本兼容性

  • RabbitMQ 3.12.x → 需要 Erlang 26.0+
  • RabbitMQ 3.11.x → 支持 Erlang 25.2+

建议优先升级 Erlang,然后安装最新的 RabbitMQ 3.12.x。如果无法升级 Erlang,则降级 RabbitMQ 到 3.11.x。

你可以运行 erl -versionrabbitmqctl version 检查当前安装的版本。

这里采用的为 RabbitMq降低版本 的方法

先提前更新一下

c++ 复制代码
sudo apt update
sudo apt upgrade

安装

c++ 复制代码
sudo apt-get install rabbitmq-server=3.11.26-1

查看启动状态

c++ 复制代码
systemctl status rabbitmq-server

成功!!!

相关推荐
Two_brushes.20 分钟前
C++仿RabbitMQ实现消息队列
分布式·rabbitmq
蓝色的猴子2 小时前
Kafka
分布式·kafka
linweidong9 小时前
Go开发简历优化指南
分布式·后端·golang·高并发·简历优化·go面试·后端面经
掘金-我是哪吒10 小时前
分布式微服务系统架构第142集:全栈开发
分布式·微服务·云原生·架构
咖啡啡不加糖10 小时前
雪花算法:分布式ID生成的优雅解决方案
java·分布式·后端
wyl952711 小时前
rabbitmq Fanout交换机简介
分布式·rabbitmq
Yng Forever15 小时前
实现RabbitMQ多节点集群搭建
分布式·rabbitmq
IT路旅记15 小时前
分布式锁剖析
分布式
Linda L20 小时前
Flink CDC将MySQL数据同步到数据湖
大数据·数据库·分布式·mysql·flink·kafka
当归102421 小时前
微服务面试(分布式事务、注册中心、远程调用、服务保护)
分布式·微服务·面试