如何在 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

成功!!!

相关推荐
爱丽_3 小时前
Redis 分布式锁:SET NX、过期时间、续租、可重入、Redlock 与坑
数据库·redis·分布式
ok_hahaha5 小时前
java从头开始-黑马点评-分布式锁-redis实现基础版
java·redis·分布式
传感器与混合集成电路6 小时前
法珀干涉与光栅补偿:井下压力温度一体化光纤监测技术
分布式
@insist1236 小时前
数据库系统工程师-分布式数据库与数据仓库核心考点及应用体系
数据库·数据仓库·分布式·软考·数据库系统工程师·软件水平考试
XDHCOM8 小时前
TP5框架Redis分布式缓存实战,解决高并发场景下的数据一致性问题
redis·分布式·缓存
Fzuim8 小时前
从CLI到分布式智能体:重新理解AI Agent的演进路径与工程现实
人工智能·分布式·ai·agent·agentic
_院长大人_10 小时前
Spring Boot 3.3 + Atomikos 分布式事务日志路径配置踩坑记录
spring boot·分布式·后端
Data 实验室10 小时前
TaskPyro “小龙虾版本”专业爬虫管理平台来了:AI+分布式+IM 机器人,一套搞定企业级爬虫调度
人工智能·分布式·爬虫
想你依然心痛11 小时前
HarmonyOS 5.0教育行业解决方案:基于分布式能力的沉浸式智慧课堂系统
分布式·wpf·harmonyos
糖炒栗子032611 小时前
后端异步任务编排:基于 RabbitMQ 的“中控-工人”模式
java·rabbitmq