Centos 7/8 安装 Redis
目录
一、CentOS 7 使用 yum 安装 Redis 详细指南
1、安装步骤
1. 查找Redis相关软件安装包
2. 安装 SCL 源
3. 安装 Redis 5
2、创建符号链接
1. 针对可执行程序设置符号链接
关于 符号链接
关于 后台进程
2. 针对配置文件设置符号链接
3、修改配置文件(后续如果修改了配置文件,都是需要通过重启才能生效的!!!)
1. 设置 IP 地址
2. 关闭保护模式
3. 启动守护进程
4. 设置工作目录
5. 设置日志目录
4、启动和停止 Redis
1. 启动 Redis
2. 停止 Redis
二、CentOS 8 使用 yum 安装 Redis 详细指南
1、安装步骤
以 root 或具有 sudo 权限的用户身份运行以下命令:
安装过程示例:
2、通过 systemd 管理 Redis
设置开机自启动
支持远程连接
3、通过 systemd 控制 Redis
1. 启动 Redis 服务:
2. 验证 Redis 是否监听 6379 端口:
3. 停止 Redis 服务:
4. 重启 Redis 服务:
在 CentOS 8 系统中,yum 仓库默认提供的 Redis 版本是 5.x,直接运行 yum install redis
即可安装。而 CentOS 7 的 yum 仓库默认只提供较旧的 Redis 3.x 版本。
一、CentOS 7 使用 yum 安装 Redis 详细指南
1、安装步骤
1. 查找Redis相关软件安装包
首先查找yum软件安装包管理器中的Redis相关软件安装包(等待list这时会刷屏),如下:
yum list | grep redis
注意:目前的Centos中的yum上的Redis更新到8.0版本就不更新了,这就是为什么要使用Ubuntu的原因(核心原因:软件仓库策略不同)
1. CentOS/Yum 的特点:极端追求稳定
-
目标用户:企业、服务器生产环境
-
设计哲学:稳定压倒一切
-
策略:在一个大版本的生命周期内(如 CentOS 7),软件包版本几乎冻结,只向后移植安全补丁,不提供大版本升级。
-
结果:你看到的 Redis 版本可能停留在很旧的版本(比如 8.x 甚至更老的 5.x、6.x),因为那是系统发布时的稳定版本。
2. Ubuntu/APT 的特点:平衡稳定与更新
-
目标用户:更广泛,包括桌面用户和服务器
-
设计哲学:在稳定和新特性之间取得平衡
-
策略:
-
主仓库:提供经过测试的稳定版本
-
PPA:允许第三方提供较新的软件包
-
新版Ubuntu:每半年发布一次,会更新软件包大版本
-
为什么因此选择 Ubuntu?
# Ubuntu 上可能通过官方仓库或PPA安装较新Redis
sudo apt install redis-server # 版本可能较新
sudo add-apt-repository ppa:redislabs/redis # 通过PPA安装最新版# CentOS 上官方yum仓库版本通常很旧
sudo yum install redis # 版本可能很老旧
现实影响
发行版 | Redis 版本可能 | 适合场景 |
---|---|---|
CentOS/RHEL | 5.x, 6.x | 传统企业应用,不需要新特性 |
Ubuntu | 7.x, 8.x | 需要新功能、更好性能的场景 |
如果你需要较新版本的 Redis(或其他软件),Ubuntu 通常比 CentOS 更容易获得更新版本,这是因为两个发行版面向的用户群体和稳定性理念不同。Ubuntu 在"稳定性"和"软件新鲜度"之间提供了更好的平衡,特别适合需要现代软件特性的开发和生产环境。
下面简要说明为什么 yum
(CentOS/RHEL)通常比 apt
(Ubuntu/Debian)感觉更慢:(核心原因:元数据处理机制不同)
1. yum
的解析过程更复杂
-
yum
:需要下载并解析完整的 XML 元数据 文件 -
apt
:使用轻量级的 Packages.gz 索引文件 -
类比:
yum
像要读完整本产品手册,apt
只看产品目录
2. 依赖解决算法差异
-
yum
:使用更保守、更精确的依赖解析算法,计算量更大 -
apt
:算法相对快速,可能在依赖处理上做些优化和假设
实际体验对比
# Ubuntu/apt - 通常较快
sudo apt update # 快速下载轻量索引
sudo apt install redis # 相对快速的依赖解析# CentOS/yum - 通常较慢
sudo yum update # 下载并解析大量XML
sudo yum install redis # 复杂的依赖计算
其他影响因素
-
仓库大小:Enterprise Linux 仓库通常包含更多企业级软件,元数据更大
-
网络镜像:Ubuntu 的全球镜像网络通常更密集
-
历史架构:
yum
基于较老的 Python 架构,apt
是原生 C++
现代改进:dnf
(yum的下一代)已经大幅改善了性能,但在很多场景下仍比 apt
稍慢。
总结:yum
的设计更注重精确性和企业级稳定性,apt
更追求速度和用户体验,这导致了普遍感觉上的速度差异。
2. 安装 SCL 源
下图是又上面list得到的输出结果,可见Centos7的yum软件包管理器中的Redis软件安装包只有3.2.12版本的,没有Redis 5这个稳定的较新的版本(原因上面已经说明)。
首先,需要安装 Software Collections (SCL) 源(获取新的yum源),以便获取 Redis 5 的软件包。
yum install -y centos-release-scl-rh
3. 安装 Redis 5
安装 rh-redis5 软件包,其中包含 Redis 5 版本。
yum install -y rh-redis5-redis
2、创建符号链接
Redis的默认安装路径为 /opt/rh/rh-redis5/root/usr/bin/
,路径较深,不便于使用。通过创建符号链接,将关键可执行文件和配置文件链接到常用目录。
1. 针对可执行程序设置符号链接
将 Redis 的可执行文件链接到 /usr/bin/
目录。
cd /usr/bin
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-sentinel ./redis-sentinel
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-cli ./redis-cli
命令 | 源文件位置 | 链接位置 | 作用 |
---|---|---|---|
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server | Redis服务器程序 | /usr/bin/redis-server | 启动Redis服务 |
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-sentinel ./redis-sentinel | Redis哨兵程序(后面会讲解,先了解) | /usr/bin/redis-sentinel | 运行Redis哨兵(高可用) |
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-cli ./redis-cli | Redis客户端 | /usr/bin/redis-cli | 连接和管理Redis |
关于 符号链接
概念:符号链接,常被称为 软链接,是 Linux 文件系统中的一种特殊文件,其作用类似于 Windows 系统中的 “快捷方式”。
命令:使用 ln -s
命令创建。
-
语法:
ln -s <源文件或目录的真实路径> <链接文件的路径>
-
作用:它本身不存储文件数据,仅包含一个指向另一个文件或目录的路径引用。当您访问链接文件时,系统会自动重定向到它所指向的原始文件。
价值:通过将深层次目录中的可执行文件链接到全局命令目录(如 /usr/bin
),可以实现在系统的任何位置直接输入命令名来启动程序,极大地方便了操作。
关于 后台进程
服务器程序运行方式:像 Redis、Nginx、MySQL 这类服务器程序,通常不会在用户的前台终端中运行,而是会以 “后台进程” 的方式运行。
守护进程:这种长期运行、不受终端控制的后台进程,也常被称为 “守护进程”。
进程分类:Linux 中的进程可以简单划分为两类:
-
前台进程:
-
运行于当前终端(Shell)的控制之下。
-
会接收终端的输入,并向终端输出信息。
-
关键特性:当前台进程在运行时,终端会被占用,无法执行其他命令;并且,如果终端被关闭,该前台进程会随之被终止。
-
-
后台进程:(Redis 哨兵程序就是一个典型的后台进程(守护进程))
-
独立于终端运行,不会占用终端界面(您可以在启动它之后继续在终端里工作)。
-
关键特性:它不会随着终端的关闭而关闭,会一直运行在系统后台,直到被手动停止或系统关机。这是服务器软件必须具备的特性。
-
2. 针对配置文件设置符号链接
将 Redis 的配置文件目录链接到 /etc/redis中。这个作用就是将深处的配置文件目录拉到更上层目录中,也就是/etc/redis中,方便修改和查看配置文件。
cd /etc/
ln -s /etc/opt/rh/rh-redis5/ ./redis
3、修改配置文件(后续如果修改了配置文件,都是需要通过重启才能生效的!!!)
编辑 Redis 配置文件 /etc/redis/redis.conf
,进行以下修改:
1. 设置 IP 地址
允许 Redis 监听所有网络接口。
bind 0.0.0.0
2. 关闭保护模式
禁用保护模式,允许外部连接。
protected-mode no
3. 启动守护进程
启用 Redis 以守护进程方式运行。
daemonize yes
#shift+;切换为底行模式,然后输入/dae回车
4. 设置工作目录
创建工作目录并修改配置文件。作用是不让工作目录藏太深,设置工作目录简单易记忆,方便查找。如下:首先创建工作目录。
mkdir -p /var/lib/redis
在配置文件中找到dir然后修改设置为刚刚创建的工作目录:
dir /var/lib/redis
5. 设置日志目录
创建日志目录并修改配置文件。作用是不让日志目录藏太深,设置工作目录简单易记忆,方便查找。如下:首先创建日志目录。
mkdir -p /var/log/redis/
在配置文件中找到logfile然后修改设置为刚刚创建的日志目录:
logfile /var/log/redis/redis-server.log
注意:如果修改了配置文件,都是需要通过重启才能生效的!!!
4、启动和停止 Redis
1. 启动 Redis
使用配置文件启动 Redis 服务。
redis-server /etc/redis/redis.conf
此时我们可以使用下面的命令来查看Redis服务端是否成功启动:
netstat -anp | grep redis
然后我们直接输入登录Redis客户端的命令,使用ping和输出PONG的结果来判断客户端的登录和连接:
2. 停止 Redis
查找 Redis 进程 ID 并终止进程。
ps aux | grep redis
kill <进程ID>
如上,我们可以使用 netstat
或 ps
命令查询 Redis 服务器的 PID,然后根据该 PID 执行 kill
命令即可终止进程。
二、CentOS 8 使用 yum 安装 Redis 详细指南
1、安装步骤
Redis 5.0 已包含在 CentOS 8 的官方源仓库中,可直接使用 yum 安装。
以 root 或具有 sudo 权限的用户身份运行以下命令:
yum install -y redis
安装过程示例:
Last metadata expiration check: 0:01:13 ago on Fri 10 Oct 2025 03:48:46 PM CST.
Dependencies resolved.
============================================================================
Package Architecture Version Repository Size
============================================================================
Installing:
redis x86_64 5.0.3-5.module+oc8.5.0+112+2cbed12d AppStream 925 kTransaction Summary
============================================================================
Install 1 PackageTotal download size: 925 k
Installed size: 3.2 M
Downloading Packages:
redis-5.0.3-5.module+oc8.5.0+112+2cbed12d.x86_64.rpm 1.8 MB/s | 925 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: redis-5.0.3-5.module+oc8.5.0+112+2cbed12d.x86_64 1/1
Installing : redis-5.0.3-5.module+oc8.5.0+112+2cbed12d.x86_64 1/1
Running scriptlet: redis-5.0.3-5.module+oc8.5.0+112+2cbed12d.x86_64 1/1
Verifying : redis-5.0.3-5.module+oc8.5.0+112+2cbed12d.x86_64 1/1
Installed:
redis-5.0.3-5.module+oc8.5.0+112+2cbed12d.x86_64
Complete!
2、通过 systemd 管理 Redis
设置开机自启动
安装完成后,启用 Redis 服务以在系统启动时自动运行。
[root@host ~]# systemctl enable redis
Created symlink /etc/systemd/system/multi-user.target.wants/redis.service → /usr/lib/systemd/system/redis.service.
支持远程连接
默认情况下,Redis 仅绑定到 127.0.0.1,仅允许本地连接。若需从远程访问,需修改配置文件 /etc/redis.conf
:
-
修改绑定地址:注释掉
bind 127.0.0.1
,添加bind 0.0.0.0
以允许所有网络接口连接。 -
关闭保护模式:将
protected-mode
设置为no
。
注意:如果修改了配置文件,都是需要通过重启才能生效的!!!
3、通过 systemd 控制 Redis
1. 启动 Redis 服务:
systemctl start redis
2. 验证 Redis 是否监听 6379 端口:
[root@host ~]# netstat -nlpt | grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 31000/redis-server
3. 停止 Redis 服务:
systemctl stop redis
4. 重启 Redis 服务:
systemctl restart redis
通过以上步骤,我们可以在 CentOS 7 和 CentOS 8 上成功安装并配置 Redis,实现本地和远程访问。