Centos 7/8 安装 Redis

目录

[一、CentOS 7 使用 yum 安装 Redis 详细指南](#一、CentOS 7 使用 yum 安装 Redis 详细指南)

1、安装步骤

[1. 查找Redis相关软件安装包](#1. 查找Redis相关软件安装包)

[2. 安装 SCL 源](#2. 安装 SCL 源)

[3. 安装 Redis 5](#3. 安装 Redis 5)

2、创建符号链接

[1. 针对可执行程序设置符号链接](#1. 针对可执行程序设置符号链接)

[关于 符号链接](#关于 符号链接)

[关于 后台进程](#关于 后台进程)

[2. 针对配置文件设置符号链接](#2. 针对配置文件设置符号链接)

3、修改配置文件(后续如果修改了配置文件,都是需要通过重启才能生效的!!!)

[1. 设置 IP 地址](#1. 设置 IP 地址)

[2. 关闭保护模式](#2. 关闭保护模式)

[3. 启动守护进程](#3. 启动守护进程)

[4. 设置工作目录](#4. 设置工作目录)

[5. 设置日志目录](#5. 设置日志目录)

[4、启动和停止 Redis](#4、启动和停止 Redis)

[1. 启动 Redis](#1. 启动 Redis)

[2. 停止 Redis](#2. 停止 Redis)

[二、CentOS 8 使用 yum 安装 Redis 详细指南](#二、CentOS 8 使用 yum 安装 Redis 详细指南)

1、安装步骤

[以 root 或具有 sudo 权限的用户身份运行以下命令:](#以 root 或具有 sudo 权限的用户身份运行以下命令:)

安装过程示例:

[2、通过 systemd 管理 Redis](#2、通过 systemd 管理 Redis)

设置开机自启动

支持远程连接

[3、通过 systemd 控制 Redis](#3、通过 systemd 控制 Redis)

[1. 启动 Redis 服务:](#1. 启动 Redis 服务:)

[2. 验证 Redis 是否监听 6379 端口:](#2. 验证 Redis 是否监听 6379 端口:)

[3. 停止 Redis 服务:](#3. 停止 Redis 服务:)

[4. 重启 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这时会刷屏 ),如下:

bash 复制代码
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?

bash 复制代码
# 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:算法相对快速,可能在依赖处理上做些优化和假设

实际体验对比

bash 复制代码
# 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 的软件包。

bash 复制代码
yum install -y centos-release-scl-rh

3. 安装 Redis 5

安装 rh-redis5 软件包,其中包含 Redis 5 版本。

bash 复制代码
yum install -y rh-redis5-redis

2、创建符号链接

Redis的默认安装路径为 /opt/rh/rh-redis5/root/usr/bin/,路径较深,不便于使用。通过创建符号链接,将关键可执行文件和配置文件链接到常用目录。

1. 针对可执行程序设置符号链接

将 Redis 的可执行文件链接到 /usr/bin/ 目录。

bash 复制代码
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中,方便修改和查看配置文件。

bash 复制代码
cd /etc/
ln -s /etc/opt/rh/rh-redis5/ ./redis

3、修改配置文件(后续如果修改了配置文件,都是需要通过重启才能生效的!!!)

编辑 Redis 配置文件 /etc/redis/redis.conf,进行以下修改:

1. 设置 IP 地址

允许 Redis 监听所有网络接口。

bash 复制代码
bind 0.0.0.0

2. 关闭保护模式

禁用保护模式,允许外部连接。

bash 复制代码
protected-mode no

3. 启动守护进程

启用 Redis 以守护进程方式运行。

bash 复制代码
daemonize yes
#shift+;切换为底行模式,然后输入/dae回车

4. 设置工作目录

创建工作目录并修改配置文件。作用是不让工作目录藏太深,设置工作目录简单易记忆,方便查找。如下:首先创建工作目录。

bash 复制代码
mkdir -p /var/lib/redis

在配置文件中找到dir然后修改设置为刚刚创建的工作目录:

bash 复制代码
dir /var/lib/redis

5. 设置日志目录

创建日志目录并修改配置文件。作用是不让日志目录藏太深,设置工作目录简单易记忆,方便查找。如下:首先创建日志目录。

bash 复制代码
mkdir -p /var/log/redis/

在配置文件中找到logfile然后修改设置为刚刚创建的日志目录:

bash 复制代码
logfile /var/log/redis/redis-server.log

注意:如果修改了配置文件,都是需要通过重启才能生效的!!!

4、启动和停止 Redis

1. 启动 Redis

使用配置文件启动 Redis 服务。

bash 复制代码
redis-server /etc/redis/redis.conf

此时我们可以使用下面的命令来查看Redis服务端是否成功启动:

bash 复制代码
netstat -anp | grep redis

然后我们直接输入登录Redis客户端的命令,使用ping和输出PONG的结果来判断客户端的登录和连接:

2. 停止 Redis

查找 Redis 进程 ID 并终止进程。

bash 复制代码
ps aux | grep redis
kill <进程ID>

如上,我们可以使用 netstatps 命令查询 Redis 服务器的 PID,然后根据该 PID 执行 kill 命令即可终止进程。


二、CentOS 8 使用 yum 安装 Redis 详细指南

1、安装步骤

Redis 5.0 已包含在 CentOS 8 的官方源仓库中,可直接使用 yum 安装。

以 root 或具有 sudo 权限的用户身份运行以下命令

bash 复制代码
yum install -y redis

安装过程示例

bash 复制代码
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 k

Transaction Summary
============================================================================
Install  1 Package

Total 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 服务以在系统启动时自动运行。

bash 复制代码
[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 服务

bash 复制代码
systemctl start redis

2. 验证 Redis 是否监听 6379 端口

bash 复制代码
[root@host ~]# netstat -nlpt | grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 31000/redis-server

3. 停止 Redis 服务

bash 复制代码
systemctl stop redis

4. 重启 Redis 服务

bash 复制代码
systemctl restart redis

通过以上步骤,我们可以在 CentOS 7 和 CentOS 8 上成功安装并配置 Redis,实现本地和远程访问。

相关推荐
刘大猫.2 小时前
mysql数据库压缩
数据库·mysql·压缩·mysql数据库压缩·数据库压缩·数据库备份与压缩
怀旧,2 小时前
【Linux系统编程】2. Linux基本指令(上)
linux·运维·服务器
oracle04062 小时前
sql练习题单-知识点总结
数据库·sql
会飞的架狗师2 小时前
【MySQL体系】第4篇:MySQL 查询优化实用技巧
数据库·mysql
骥龙3 小时前
1.2、网络安全攻防实验室搭建指南:VMware + Kali Linux + Win10 全流程
linux·安全·web安全
lypzcgf3 小时前
Coze源码分析-资源库-编辑数据库-前端源码-核心组件
前端·数据库·源码分析·coze·coze源码分析·ai应用平台·agent平台
stwood0073 小时前
codeigniter换服务器之后,会员登录之后又跳回登录页面的解决方法
服务器·php
迎風吹頭髮3 小时前
Linux内核架构浅谈9-Linux内核的开源生态:开发者协作与版本迭代机制
linux·运维·架构
Wang's Blog3 小时前
Linux小课堂: 文件系统结构与核心命令解析
linux·运维·服务器