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

article/2025/6/17 22:22:22

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

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

在安装 RabbitMQ 时,出现以下的报错信息
在这里插入图片描述

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

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 命令来下载

wget https://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb

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

sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb

再执行安装 Erlang命令

## 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 命令
## 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 提供的包):
    # 添加 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
    # 添加 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)
    例如:
    sudo apt-get install rabbitmq-server=3.11.26-1
    
    或手动下载:
    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降低版本 的方法

先提前更新一下

sudo apt update
sudo apt upgrade

安装

sudo apt-get install rabbitmq-server=3.11.26-1

查看启动状态

systemctl status rabbitmq-server

在这里插入图片描述
成功!!!


http://www.hkcw.cn/article/DYDAnKxRGb.shtml

相关文章

歼-10CE火出圈,不愧是猛龙!

歼-10CE火出圈,不愧是猛龙!国产战机霸气名称大盘点在近期举行的马来西亚兰卡威航展上各国顶级装备纷纷亮相在中国展台上近期在实战中一鸣惊人的歼-10CE战斗机模型占据C位人气爆棚观众纷纷前来打卡参观硬核出圈的歼-10也被称为“猛龙”国产歼击机有用猛兽命名的传统小编带你盘…

荣昌政府食堂推出六一套餐 亲子家庭专属福利

端午假期期间,全国多地政府机关食堂面向社会公众开放。例如,重庆市荣昌区政府机关食堂在5月31日中午向游客开放,首日吸引了超过3000名游客前来体验。为了庆祝六一儿童节,该食堂特别推出了61元的家庭套餐,包括荣昌卤鹅、黄凉粉等特色菜品,并新增了粽子和薯条、鸡腿、鸡块等…

樊振东加盟德甲联赛 乒坛巨星开启欧洲冒险

6月1日,FC萨尔布吕肯乒乓球俱乐部宣布奥运冠军樊振东将加盟。樊振东,这位曾经的世界第一、国际乒乓球界的巨星,将在新赛季代表该俱乐部征战德国乒乓球甲级联赛(TTBL)。28岁的中国选手樊振东表示非常期待在萨尔布吕肯和TTBL的新挑战,并渴望成为俱乐部的一员,在新的环境中…

樊振东加盟德国乒乓球甲级联赛 乒坛巨星欧洲冒险

6月1日,FC萨尔布吕肯乒乓球俱乐部宣布奥运冠军樊振东将加盟。这位曾经的世界第一、国际乒乓球界的巨星将在新赛季代表该俱乐部征战德国乒乓球甲级联赛(TTBL)。28岁的中国选手樊振东表示非常期待在萨尔布吕肯和TTBL的新挑战,并渴望成为俱乐部的一员,体验新的环境并帮助球队…

IDM下载器 Internet Download Manager v6.42 Build 39

—————【下 载 地 址】——————— 【​本章下载一】:https://pan.xunlei.com/s/VORWCoLNITytLXc_Obt47jr1A1?pwdipt3# 【​本章下载二】:https://pan.quark.cn/s/d7cd16fee51c 【百款黑科技】:https://ucnygalh6wle.feishu.cn/wiki/…

C++二叉树常见OJ题分析

OJ(一):根据二叉树创建字符串 606. 根据二叉树创建字符串 - 力扣(LeetCode) 1.(ps:接下来的解答来自LeetCode的官方解释:这里只是为了让以后复习便利而已。) 如果当前节点有两个孩子…

Spring Boot养老院管理系统源码分享

概述 基于Spring Boot开发的养老院管理系统,该系统通过智能化管理模块,为养老机构提供高效运营解决方案。 主要内容 后台管理功能 系统后台功能完善,左侧导航栏涵盖首页、安全巡查管理、设备管理等模块。设备管理界面以表格形式清晰展示设…

数据库-MySQL索引事务

1 索引 针对查询操作引入的优化手段 可以通过索引加快查询的速度 避免针对表遍历 索引缺点: 1.占用更多空间,生成索引需要一系列数据结构 一系列额外数据 2.可能会降低插入修改删除的速度 ps.如果这个表本来就很大,创建索引容易把数据库服务…

leetcode hot100刷题日记——32.杨辉三角

class Solution { public:vector<vector<int>> generate(int numRows) {//感觉是不是就是找规律遍历啊//i层共有i1个数字//i层的0和i位置都是1//i层的其他位置j的数字i-1层j-1位置i-1层j位置//注意二维vector数组的初始化vector<vector<int>>res(numRo…

数据中台(大数据平台)之元数据管理

元数据管理是数据管理的基础&#xff0c;数据中台产品要能够提供各类元数据采集的适配器&#xff0c;自动化采集技术元数据&#xff0c;并在技术元数据的基础上补充管理属性和业务属性&#xff0c;为后续的数据资源目录、数据安全管控、报表开发提供统一的口径。并能够在数据集…

TDenigne 集群可视化管理

可视化管理工具 为方便用户更高效地使用和管理 TDengine&#xff0c;TDengine 3.0 版本推出了一个全新的可视化组件 taosExplorer。这个组件旨在帮助用户在不熟悉 SQL 的情况下&#xff0c;也能轻松管理 TDengine 集群。通过 taosExplorer&#xff0c;用户可以轻松查看 TDengi…

【Linux 学习计划】-- 进程地址空间

目录 进程地址的引入 进程地址空间基础原理 区域划分的本质 如何理解进程地址空间 越界访问的本质 进一步理解写时拷贝 重谈 fork 返回值 结语 进程地址的引入 我们先来看一段代码&#xff1a; 首先我们可以看到&#xff0c;父进程和子进程是可以同时可以看到一个变量…

foundationpose位姿检测环境搭建与数据集制作

foundationpose环境搭建数据集制作 注&#xff1a;本教程为在未知明确方法的探索步骤记录&#xff0c;由于时间原因未做整理&#xff0c;可能有不必要步骤&#xff0c;建议先看完整篇文章理清思路在动手制作 创建数据集 保存RGB和Depth图像: 使用data_collect.py脚本来保存R…

某乎x-zse-96 破解(补环境版本)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、总体概述二、请求分析分析请求流程三、逆向分析总结一、总体概述 本文主要实现某乎x-zse-96 破解(补环境版本),相关的链接: https://www.zhihu.com/search?type=content&q=%25E7%258…

智慧物流园区整体解决方案

该智慧物流园区整体解决方案借助云计算、物联网、ICT 等技术,从咨询规划阶段介入,整合供应链上下游资源,实现物流自动化、信息化与智能化。方案涵盖智慧仓储管理(如自动化立体仓储系统、温湿度监控)、智慧物流(运输管理系统 TMS、GPS 监控)、智慧车辆管理(定位、调度、…

车载诊断架构SOVD --- 车辆发现与建连

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…

基于 OpenObserve 的轻量级分布式日志存储和追踪方案

一、OpenObserve 介绍 OpenObserve 是一个基于 Rust 开发的开源云原生可观察性平台&#xff0c;专为处理海量数据&#xff08;如日志、指标和追踪数据&#xff09;而设计&#xff0c;具有高性能、低成本和易用性等特点。 核心功能和特点&#xff1a; 低成本存储&#xff1a;…

python分配方案数 2023年信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析

python分配方案数 2023全国青少年信息素养大赛Python编程挑战赛复赛真题解析 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】 1、Python比赛 信息素养大赛Python编程挑战赛 蓝桥杯python选拔赛真题详解 蓝桥杯python省赛真题详解 蓝桥杯python国赛真题详解 2、Py…

【后端高阶面经:架构篇】52、微服务架构:微服务是银弹吗?

一、单体架构的困境:微服务诞生的背景 (一)巨石应用的五大痛点 开发效率低下 单体应用WAR包体积可达数百MB,单次全量编译耗时超30分钟,即使修改一行代码也需重新构建整个项目。案例:某电商早期单体应用包含10万行代码,每次发布需协调15个团队,合并冲突处理耗时占比达4…

C57-断言函数assert

一 基本语法 1. 作用 调试工具&#xff1a;用于运行时检查条件是否成立&#xff0c;若失败则终止程序并报错&#xff08;文件名、行号、条件&#xff09;。 2. 语法 #include <assert.h> assert(condition); // condition为假时触发断言3. 行为 条件为真&#xff1…