使用 PackageCloud Yum Repository 在较旧的发行版(CentOS 7、RHEL 7)上安装rabbitMq3.9.11

本节介绍在 RHEL 7 和 CentOS 7 上的安装。CentOS 7 已达到一般支持结束,不再受支持。因此非常不鼓励使用它。

Yum 将验证它安装的任何软件包的签名,因此该过程的第一步是导入签名密钥

## 主 RabbitMQ 签名密钥
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc ## 现代 Erlang 存储库
rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey ## RabbitMQ服务器仓库
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey

为 RabbitMQ 和 Modern Erlang 添加 Yum 存储库

为了使用 Yum 存储库,必须在/etc/yum.repos.d/目录下添加一个.repo文件(例如rabbitmq.repo)。

红帽 7、CentOS 7

以下示例设置了一个存储库,该存储库将从 PackageCloud 安装 RabbitMQ 及其 Erlang 依赖项,并针对CentOS 7。CentOS 8 指令略有不同。

# 创建文件 /etc/yum.repos.d/rabbitmq.repo 内容如下:
# 使用时请删除所有中文注释...
##
## Zero dependency Erlang
##

[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud的存储库密钥和 RabbitMQ 包签名密钥
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
       https://github.com/rabbitmq/s
<think> 我们面对的问题是:在CentOS 8上执行RabbitMQ Erlang仓库安装脚本时出现两个问题: 1. 无法解析host &#39;mirrorlist.centos.org&#39; 2. yum-utils包无法安装 根据引用[1]中提供的tip,我们可以尝试修改yum源配置文件,将镜像站点替换为国内镜像(如腾讯云)。同时,引用[4]中提到了修改清华源的方法,我们可以借鉴。 具体解决步骤: 第一步:解决网络解析问题(无法解析mirrorlist.centos.org) 这通常是因为CentOS 8官方源已经停止维护(2021年12月31日),所以我们需要将源切换为国内镜像源(如阿里云、腾讯云、清华源等)。 第二步:解决yum-utils安装失败 在切换源后,重新安装yum-utils。 详细步骤: 1. 备份原有的CentOS-Base源 ```bash sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ``` 2. 下载阿里云或腾讯云的CentOS 8源配置文件(由于CentOS 8已停止维护,阿里云和腾讯云也停止了更新,但我们可以使用vault.centos.org的镜像) 这里我们使用阿里云的CentOS-Vault仓库(因为CentOS 8的软件包被移至vault.centos.org) 编辑CentOS-Base.repo文件: ```bash sudo vi /etc/yum.repos.d/CentOS-Base.repo ``` 将内容替换为: ```ini [base] name=CentOS-$releasever - Base baseurl=https://mirrors.aliyun.com/centos-vault/8.5.2111/BaseOS/$basearch/os/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [extras] name=CentOS-$releasever - Extras baseurl=https://mirrors.aliyun.com/centos-vault/8.5.2111/extras/$basearch/os/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [appstream] name=CentOS-$releasever - AppStream baseurl=https://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/$basearch/os/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial ``` 或者,也可以使用清华大学的vault镜像: ```ini [base] name=CentOS-$releasever - Base baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/BaseOS/$basearch/os/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [extras] name=CentOS-$releasever - Extras baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/extras/$basearch/os/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [appstream] name=CentOS-$releasever - AppStream baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/8.5.2111/AppStream/$basearch/os/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial ``` 3. 清除并重建yum缓存 ```bash sudo yum clean all sudo rm -rf /var/cache/yum sudo yum makecache ``` 4. 安装yum-utils(现在应该可以成功) ```bash sudo yum install -y yum-utils ``` 5. 现在重新执行Erlang仓库的安装脚本 ```bash curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash ``` 注意:如果脚本执行过程中仍然遇到网络问题,可能是packagecloud.io的访问问题,可以尝试使用代理或者等待网络恢复。 6. 安装Erlang ```bash sudo yum install -y erlang ``` 补充说明:由于CentOS 8已经EOL,建议升级到CentOS Stream 8或迁移到其他操作系统(如Rocky Linux、AlmaLinux等)以获得持续支持。 如果以上步骤仍然无法解决问题,可以考虑直接下载RabbitMQ和Erlang的rpm包进行手动安装(如引用[2]中的方法,但注意版本更新)。 引用[2]中提到了下载指定版本的RabbitMQ rpm包并导入签名,然后安装。对于Erlang,我们也可以从Erlang Solutions官网下载对应版本的rpm包。 手动安装Erlang步骤(如果仓库安装失败): 1. 访问Erlang Solutions的下载页面:https://www.erlang-solutions.com/downloads/ 2. 选择适合CentOS 8的Erlang版本(注意RabbitMQ版本对应的Erlang版本要求) 3. 下载rpm包并安装 ```bash wget [下载链接] sudo yum localinstall [下载的rpm包] ``` 然后继续安装RabbitMQ(同样可以下载rpm包手动安装)。 最后,如果系统环境复杂且无法解决依赖,可以考虑使用Docker运行RabbitMQ(参考引用[1]中提到的docker安装)。 希望以上步骤能解决您的问题。 </think> ### 解决 CentOS 8 安装 RabbitMQ 仓库时的网络问题 #### 🔧 问题分析 在 CentOS 8 执行 RabbitMQ Erlang 仓库安装命令时出现的两个关键问题: 1. **无法解析 host &#39;mirrorlist.centos.org&#39;**:CentOS 8 官方源已于 2021 年 EOL,镜像列表服务已关闭 2. **yum-utils 无法安装**:依赖基础仓库不可用 #### 🛠️ 解决方案步骤 ##### 1. 修复基础仓库源 ```bash # 备份原始仓库配置 sudo cp /etc/yum.repos.d/CentOS-Linux-BaseOS.repo /etc/yum.repos.d/CentOS-Linux-BaseOS.repo.backup # 修改为阿里云 vauit 镜像源(适用于 EOL 系统) sudo sed -i &#39;s|mirrorlist=|#mirrorlist=|g&#39; /etc/yum.repos.d/CentOS-Linux-* sudo sed -i &#39;s|#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com/centos-vault|g&#39; /etc/yum.repos.d/CentOS-Linux-* # 更新缓存(引用[1]) sudo yum clean all sudo yum makecache ``` > 📌 注释 `mirrorlist` 并启用 `baseurl` 是关键步骤,使用阿里云归档镜像替代官方源 [^1] ##### 2. 安装 yum-utils 依赖 ```bash # 安装必要工具 sudo yum install -y yum-utils curl # 确认安装成功 rpm -q yum-utils ``` ##### 3. 添加 RabbitMQ Erlang 仓库 ```bash # 直接使用阿里云镜像替换官方脚本 sudo tee /etc/yum.repos.d/rabbitmq_erlang.repo <<-&#39;EOF&#39; [rabbitmq_erlang] name=rabbitmq_erlang baseurl=https://mirrors.aliyun.com/rabbitmq/erlang/rpm/el/8/$basearch gpgcheck=1 gpgkey=https://mirrors.aliyun.com/rabbitmq/rabbitmq-release-signing-key.asc repo_gpgcheck=0 enabled=1 EOF # 更新仓库缓存 sudo yum makecache ``` ##### 4. 安装 Erlang ```bash # 查看可用版本 yum list erlang --showduplicates # 安装最新版(建议选择 RabbitMQ 兼容版本) sudo yum install -y erlang-25.* ``` ##### 5. 验证安装 ```bash # 检查 Erlang 版本 erl -version # 应输出类似:Erlang/OTP 25 [erts-13.0] ... ``` #### 🌐 替代方案(推荐) 若上述方法仍失败,建议: ```bash # 1. 升级到 CentOS Stream 8(官方后续支持) sudo dnf install centos-release-stream sudo dnf swap centos-{linux,stream}-repos sudo dnf distro-sync # 2. 或迁移到兼容系统(Rocky/AlmaLinux) # 3. 使用 Docker 容器化部署(引用[1]) docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management ``` #### ⚠️ 注意事项 1. CentOS 8 官方支持已终止,生产环境建议迁移至 RHEL 兼容发行版 2. 阿里云镜像路径中的 `/centos-vault/8.5.2111/` 版本号需与实际需求匹配 3. 防火墙需开放对应端口:`sudo firewall-cmd --add-port={5672,15672}/tcp --permanent`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值