00 在 CentOS 7 上安装 Redis

00 在 CentOS 7 上安装 Redis
小米里的大麦CentOS 7 安装 Redis 5 碰壁记录:从 yum 源配置到软件安装的踩坑之旅
1. 前言
我尝试在 CentOS 7 服务器上尝试安装 Redis 5,原本以为是个简单的 yum install redis 就能搞定的事情,结果却遇到了一系列问题。原本用下面的步骤就能完成,但是很不巧,这个迭代和维护等种种原因很不巧的出现在一起……所以这下面的 6 条命令仅适合有缘人。
1 | # 1. 先把原有的 repo 文件备份,避免冲突或损坏 |
从最初的 yum 源无法解析,到更换阿里云源,再到 Redis 版本不符预期,整个过程真是惹人心烦。本文将详细记录我的操作过程、遇到的问题,最终我还是没能成功安装,但是可以安装 Redis 7.2.5 这个版本,希望能为遇到类似问题的朋友提供参考。
2. 问题起源:yum 源无法解析
1. 初始尝试
我首先尝试安装基础的开发工具:
1 | sudo yum install -y gcc gcc-c++ make wget epel-release |
结果立即遇到了问题:
1 | Could not retrieve mirrorlist http://mirrorlist.centos.org?arch=x86\_64\&release=7\&repo=sclo-rh error was |
这个错误很明显是由于无法解析官方的 mirrorlist.centos.org 域名导致的。这可能是由于网络问题,或者是 CentOS 7 官方源在国内访问不稳定造成的。
3. 解决方案一:更换阿里云 yum 源
既然官方源有问题,我决定更换为国内的阿里云源。
1. 备份原有源配置
1 | sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak |
2. 下载阿里云源配置
我首先尝试从 vault.centos.org 下载:
1 | sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://vault.centos.org/7.9.2009/os/x86\_64/CentOS-Base.repo |
但下载下来的文件似乎有问题,执行 yum clean all 时出现:
1 | File contains no section headers. |
看来直接从 vault 下载的文件不是正确的 repo 配置文件。
3. 正确的阿里云源配置
我重新尝试直接从阿里云下载 repo 文件:
1 | sudo rm -f /etc/yum.repos.d/CentOS-Base.repo |
这次下载成功了。接下来清理缓存并重新生成:
1 | sudo yum clean all |
在 yum makecache 过程中,虽然出现了一些连接超时的警告:
1 | http://mirrors.cloud.aliyuncs.com/centos/7/os/x86\_64/repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88bad5ef-primary.sqlite.bz2: \[Errno 14] curl#6 - "Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error" |
但最终还是成功生成了缓存:
1 | Metadata Cache Created |
4. 验证基础工具安装
更换源后,我再次检查基础开发工具是否已安装:
1 | gcc -v |
结果显示这些工具都已经安装并且是最新版本:
1 | Package gcc-4.8.5-44.el7.x86\_64 already installed and latest version |
看来基础环境已经准备好了。
5. 安装 Redis 的尝试
1. 安装 yum-utils
为了更好地管理 yum 源,我先安装了 yum-utils:
1 | sudo yum install -y yum-utils |
这个安装过程很顺利,成功安装了 yum-utils 及其依赖包。
2. 尝试通过 remi 源安装 Redis
我知道 remi 源提供了较新版本的 Redis,所以尝试使用 remi 源:
1 | yum --enablerepo=remi list redis |
显示可以安装 Redis 7.2.5:
1 | Available Packages |
我启用了 remi 源并安装 Redis:
1 | sudo yum-config-manager --enable remi |
安装成功后,验证版本:
1 | redis-server -v |
虽然安装成功了,但这是 Redis 7.2.5,而不是我需要的 Redis 5。
3. 尝试安装 Redis 5
我卸载了 Redis 7.2.5,并尝试安装 Redis 5:
1 | sudo yum remove -y redis |
我听说 remi 源有专门的 redis50 仓库,所以尝试启用它:
1 | sudo yum-config-manager --enable remi-redis50 |
但这个命令执行后没有任何输出,可能 remi-redis50 源在我的系统中不存在。然后我尝试直接安装 Redis:
1 | sudo yum install -y redis |
这次安装的是来自 epel 源的 Redis 3.2.12:
1 | Package redis.x86\_64 0:3.2.12-2.el7 will be installed |
验证版本:
1 | redis-server -v |
这仍然不是我需要的 Redis 5。
6. 问题总结与分析
1. 成功的操作
更换阿里云 yum 源:成功解决了官方源无法解析的问题
安装基础开发工具:确认 gcc、gcc-c++、make、wget 等工具已正确安装
安装 yum-utils:成功安装了 yum 源管理工具
通过 remi 源安装 Redis 7:成功安装了 Redis 7.2.5
2. 未解决的问题
无法通过 yum 源安装 Redis 5:虽然尝试了多种方法,但最终只能安装到 Redis 3.2.12 或 Redis 7.2.5
remi-redis50 源配置问题:可能需要手动配置 remi-redis50 源才能安装 Redis 5
7. 参考资料
CentOS 官方文档。
阿里云开源镜像站文档。
Redis 官方安装指南。
各大技术社区的相关讨论和解决方案。









