前情提要:我们可以先将架构理解清楚
各种架构讲解

前言:Redis作为高性能的内存数据库,广泛应用于缓存、会话存储、消息队列等后端场景,是开发者必备的基础工具。本文将详细讲解CentOS 7、CentOS 8、Ubuntu三种主流Linux系统的Redis安装、配置、启动、验证全流程,补充符号链接配置、远程连接、故障排查等关键细节,全程实操可复制,新手也能快速搞定,同时规避安装过程中常见的“路径过深”“无法远程连接”等坑点。

适用人群:后端开发者、运维新手、在校学生(用于课程实践/项目部署),无需复杂的Linux基础,跟着命令一步步执行即可完成安装。

前置准备:1. 一台Linux服务器(CentOS 7/8 或 Ubuntu,建议最小配置1核2G);2. 服务器已联网;3. 拥有root权限(或sudo权限),避免命令执行失败;4. 可选:Xshell、Putty等远程连接工具(方便操作服务器)。

补充说明:本文安装的Redis版本为5.0(稳定版,生产环境首选),适配绝大多数项目场景,同时提供两种安装方式(yum/apt仓库安装,无需手动编译,简化操作),兼顾便捷性和实用性。

一、通用前置操作(所有系统必做)

无论哪种Linux系统,安装Redis前先执行以下操作,确保后续安装顺利,避免依赖缺失、权限不足等问题。

# 1. 切换到root用户(若当前为普通用户,执行以下命令,输入root密码即可)
su root

# 2. 更新系统软件包(CentOS和Ubuntu命令不同,分别执行对应命令,耐心等待更新完成)
# CentOS 7/8 系统
yum update -y

# Ubuntu 系统
apt update -y && apt upgrade -y

# 3. 关闭防火墙(测试环境,方便后续远程连接Redis;生产环境建议放行6379端口,而非直接关闭)
# CentOS 7 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld  # 禁止开机自启,避免重启服务器后防火墙再次开启

# CentOS 8 关闭防火墙(方式同上,与CentOS 7一致)
systemctl stop firewalld
systemctl disable firewalld

# Ubuntu 关闭防火墙
ufw disable
ufw status  # 验证防火墙状态,显示inactive即为关闭成功

# 4. 检查是否已安装Redis(避免重复安装)
redis-server --version  # 若提示“command not found”,说明未安装,继续后续步骤

注意:生产环境禁止直接关闭防火墙!正确操作是放行Redis默认端口6379,命令如下:
CentOS:firewall-cmd --permanent --add-port=6379/tcp && firewall-cmd --reload
Ubuntu:ufw allow 6379/tcp && ufw reload

二、CentOS 7 系统 Redis 安装(详细步骤)

CentOS 7 官方仓库默认没有Redis 5.0版本,需先安装scl源,再通过scl源安装Redis 5.0,全程步骤清晰,避免手动编译的复杂操作。

2.1 安装scl源(关键步骤,用于获取Redis 5.0版本)

scl源(Software Collections)是CentOS官方提供的软件源,可获取到较新的软件版本,这里用于安装Redis 5.0,执行以下命令即可:

# 安装CentOS 7 的scl源,耐心等待安装完成(约1-2分钟,取决于网络速度)
yum install centos-release-scl-rh -y

# 验证scl源是否安装成功(无报错即成功)
yum repolist  # 查看已安装的软件源,出现scl相关源即为成功

2.2 安装Redis 5.0

scl源安装完成后,执行以下命令安装Redis 5.0,全程自动处理依赖,无需手动干预:

# 安装Redis 5.0(包名是rh-redis5-redis,注意不要输错)
yum install rh-redis5-redis -y

# 验证安装是否成功(查看Redis版本)
redis-server --version  # 若提示“command not found”,不要慌,是因为安装路径过深,下一步配置符号链接即可

2.3 配置符号链接(重点避坑)

CentOS 7 通过scl源安装的Redis,默认安装路径为 /opt/rh/rh-redis5/root/usr/bin/,路径过深,每次启动Redis都要输入完整路径,非常不方便。这里通过“符号链接”,将Redis关键可执行程序和配置文件,链接到系统默认的便捷路径(/usr/bin、/etc/),后续操作更简洁。

# 1. 针对Redis可执行程序,设置符号链接(方便直接使用redis-server、redis-cli等命令)
cd /usr/bin  # 切换到系统默认的可执行程序目录

# 链接redis-server(Redis服务端启动程序)
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server

# 链接redis-sentinel(Redis哨兵程序,后续高可用部署会用到)
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-sentinel ./redis-sentinel

# 链接redis-cli(Redis命令行客户端,用于操作Redis)
ln -s /opt/rh/rh-redis5/root/usr/bin/redis-cli ./redis-cli

# 验证符号链接是否成功(查看版本,正常显示即为成功)
redis-server --version  # 成功输出:Redis server v=5.0.5 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=xxxxxxx
redis-cli --version      # 成功输出:redis-cli 5.0.5

# 2. 针对Redis配置文件,设置符号链接(方便后续修改配置)
cd /etc/  # 切换到系统默认的配置文件目录

# 链接Redis配置文件目录(默认配置文件在/etc/opt/rh/rh-redis5/,链接到/etc/redis)
ln -s /etc/opt/rh/rh-redis5/ ./redis

# 验证配置文件链接是否成功(查看目录是否存在)
ls -l /etc/redis  # 若显示链接到/etc/opt/rh/rh-redis5/,即为成功

2.4 修改Redis配置文件(关键,实现远程连接+后台启动)

默认的Redis配置文件(/etc/redis/redis.conf)存在一些限制(如仅允许本地连接、不后台启动),需修改以下关键参数,才能正常使用(尤其是远程连接),步骤如下:

# 1. 编辑Redis配置文件(使用vim编辑器,新手也可直接复制命令)
vim /etc/redis/redis.conf

# 2. 按“i”进入编辑模式,找到以下参数,逐一修改(可按“/参数名”快速搜索,如输入“/bind”找到bind参数)
# ① 修改绑定IP,允许所有IP访问(实现远程连接)
# 原配置:bind 127.0.0.1
# 修改为:bind 0.0.0.0 (表示允许所有IP连接Redis)

# ② 关闭保护模式(否则远程连接会失败)
# 原配置:protected-mode yes
# 修改为:protected-mode no

# ③ 启动守护进程(让Redis在后台运行,关闭终端后Redis仍能正常工作)
# 原配置:daemonize no
# 修改为:daemonize yes

# ④ 设置Redis工作目录(用于存储持久化文件、日志文件等)
# 先创建工作目录(若不创建,启动Redis会报错)
mkdir -p /var/lib/redis

# 再修改配置文件中的工作目录参数
# 原配置:dir ./
# 修改为:dir /var/lib/redis

# ⑤ 设置Redis日志目录(方便后续排查故障,查看Redis运行日志)
# 先创建日志目录
mkdir -p /var/log/redis/

# 再修改配置文件中的日志路径参数
# 原配置:logfile ""
# 修改为:logfile /var/log/redis/redis-server.log

# 3. 保存并退出vim编辑器(按“Esc”退出编辑模式,输入“:wq”,回车即可)
:wq

# 4. 验证配置文件修改是否正确(可查看关键参数)
grep "bind 0.0.0.0" /etc/redis/redis.conf  # 有输出即为修改成功
grep "protected-mode no" /etc/redis/redis.conf  # 有输出即为修改成功
grep "daemonize yes" /etc/redis/redis.conf  # 有输出即为修改成功

2.5 启动、停止Redis服务(实操命令)

配置完成后,即可启动Redis服务,后续也可通过以下命令管理Redis(启动、停止、重启),全程可复制:

# 1. 启动Redis服务(指定配置文件,确保配置生效)
redis-server /etc/redis/redis.conf

# 2. 验证Redis是否启动成功(两种方式,任选一种)
# 方式1:查看Redis进程(有redis-server进程即为成功)
ps aux | grep redis
# 成功输出示例:root      1234  0.0  0.5 150000 10240 ?        Ssl  10:00   0:00 redis-server 0.0.0.0:6379

# 方式2:查看Redis端口监听状态(6379是Redis默认端口,监听即为成功)
netstat -nlpt | grep 6379
# 成功输出示例:tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      1234/redis-server

# 方式3:通过Redis客户端连接,验证服务正常
redis-cli
127.0.0.1:6379> ping  # 输入ping,返回PONG即为成功
PONG
127.0.0.1:6379> exit  # 退出客户端

# 3. 停止Redis服务(两种方式,任选一种)
# 方式1:通过kill命令杀死Redis进程(先查看进程ID,再杀死)
ps aux | grep redis  # 找到redis-server的进程ID(如1234)
kill 1234  # 替换为你的进程ID,杀死进程后Redis停止

# 方式2:通过Redis客户端停止(推荐,更安全)
redis-cli shutdown

# 4. 重启Redis服务(先停止,再启动)
redis-cli shutdown  # 停止服务
redis-server /etc/redis/redis.conf  # 启动服务

2.6 设置Redis开机自启(可选,推荐)

默认情况下,重启CentOS 7服务器后,Redis不会自动启动,需手动启动,非常不方便。设置开机自启,后续重启服务器后,Redis会自动运行,步骤如下:

# 1. 创建Redis系统服务文件(用于systemd管理)
vim /etc/systemd/system/redis.service

# 2. 按“i”进入编辑模式,粘贴以下内容(完整复制,不要修改)
[Unit]
Description=Redis Server
After=network.target  # 网络启动完成后,再启动Redis

[Service]
Type=forking  # 后台运行模式(对应daemonize yes)
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf  # Redis启动命令(指定配置文件)
ExecStop=/usr/bin/redis-cli shutdown  # Redis停止命令
Restart=always  # 若Redis意外停止,自动重启

[Install]
WantedBy=multi-user.target  # 多用户模式下开机自启

# 3. 保存并退出(Esc + :wq)

# 4. 重新加载systemd配置(使新创建的redis.service生效)
systemctl daemon-reload

# 5. 设置Redis开机自启,并启动Redis
systemctl enable redis  # 设置开机自启
systemctl start redis   # 启动Redis

# 6. 验证开机自启是否设置成功
systemctl is-enabled redis  # 输出enabled即为成功

三、CentOS 8 系统 Redis 安装(简化步骤)

CentOS 8 官方AppStream仓库默认包含Redis 5.0版本,无需安装额外软件源,直接通过yum安装即可,步骤比CentOS 7更简单,全程无需配置符号链接。

3.1 安装Redis 5.0(直接yum安装)

# 以root用户执行,直接安装Redis 5.0,自动处理依赖
yum install -y redis

# 验证安装是否成功(查看版本,直接显示即为成功,无需配置符号链接)
redis-server --version  # 成功输出:Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=xxxxxxx
redis-cli --version      # 成功输出:redis-cli 5.0.3

3.2 修改Redis配置文件(与CentOS 7 一致)

CentOS 8 的Redis配置文件路径为 /etc/redis.conf,无需链接,直接修改即可,参数与CentOS 7 完全一致,步骤如下:

# 1. 编辑配置文件
vim /etc/redis.conf

# 2. 按“i”进入编辑模式,修改以下关键参数(快速搜索方法:/参数名)
bind 0.0.0.0          # 允许所有IP远程连接
protected-mode no     # 关闭保护模式
daemonize yes         # 后台启动
dir /var/lib/redis    # 工作目录(先执行mkdir -p /var/lib/redis创建目录)
logfile /var/log/redis/redis-server.log  # 日志路径(先执行mkdir -p /var/log/redis/创建目录)

# 3. 保存退出(Esc + :wq)

# 4. 验证配置修改是否正确
grep -E "bind 0.0.0.0|protected-mode no|daemonize yes" /etc/redis.conf

3.3 启动、停止Redis服务(与CentOS 7 略有不同)

CentOS 8 安装Redis后,默认已创建systemd服务,可直接通过systemd命令管理Redis,无需手动创建服务文件:

# 1. 启动Redis服务
systemctl start redis

# 2. 验证启动是否成功(三种方式,任选一种)
systemctl status redis  # 显示active (running)即为成功
ps aux | grep redis
netstat -nlpt | grep 6379

# 3. 停止Redis服务
systemctl stop redis

# 4. 重启Redis服务
systemctl restart redis

# 5. 设置Redis开机自启(推荐)
systemctl enable redis
systemctl is-enabled redis  # 验证,输出enabled即为成功

四、Ubuntu 系统 Redis 安装(最简单,全程apt命令)

Ubuntu 系统(无论是18.04、20.04还是22.04版本),官方仓库默认包含Redis 5.0及以上版本,直接通过apt命令安装,步骤最简单,适合新手快速上手。

4.1 安装Redis 5.0(直接apt安装)

# 以root用户(或sudo权限用户)执行,安装Redis
apt install redis -y

# 验证安装是否成功(查看版本)
redis-server --version  # 成功输出:Redis server v=5.0.x sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=xxxxxxx
redis-cli --version      # 成功输出:redis-cli 5.0.x

4.2 修改Redis配置文件(实现远程连接)

Ubuntu 的Redis配置文件路径为 /etc/redis/redis.conf,默认仅允许本地连接,需修改以下参数,才能实现远程连接,步骤如下:

# 1. 编辑配置文件
vim /etc/redis/redis.conf

# 2. 按“i”进入编辑模式,修改以下两个关键参数(快速搜索:/bind 和 /protected-mode)
# ① 修改绑定IP,允许所有IP访问
# 原配置:bind 127.0.0.1 ::1
# 修改为:bind 0.0.0.0 (注释掉原配置,添加这一行)

# ② 关闭保护模式
# 原配置:protected-mode yes
# 修改为:protected-mode no

# 3. 保存退出(Esc + :wq)

# 4. 验证配置修改是否正确
grep -E "bind 0.0.0.0|protected-mode no" /etc/redis/redis.conf

补充说明:Ubuntu安装Redis后,默认已开启后台启动(daemonize yes)、默认工作目录和日志目录已配置,无需额外修改,节省操作步骤。

4.3 启动、停止Redis服务(Ubuntu专用命令)

Ubuntu 管理Redis服务的命令与CentOS略有不同,使用service命令,简单易懂,全程可复制:

# 1. 启动Redis服务(修改配置后,需重启服务才能生效)
service redis-server start

# 2. 验证启动是否成功(三种方式,任选一种)
# 方式1:查看Redis服务状态
service redis-server status  # 显示active (running)即为成功

# 方式2:查看Redis进程
ps aux | grep redis

# 方式3:通过客户端连接验证
redis-cli
127.0.0.1:6379> ping  # 返回PONG即为成功
PONG
127.0.0.1:6379> exit

# 3. 停止Redis服务
service redis-server stop

# 4. 重启Redis服务(修改配置后,必须重启才能生效)
service redis-server restart

# 5. 设置Redis开机自启(Ubuntu默认已设置,可验证一下)
systemctl is-enabled redis-server  # 输出enabled即为成功,无需额外操作

五、远程连接验证(关键,确保Redis可正常使用)

安装配置完成后,建议通过远程连接(如Windows系统的Redis客户端、另一台服务器)验证Redis是否可正常访问,避免后续项目部署时出现连接失败问题。

# 方法1:通过另一台Linux服务器,远程连接Redis(替换为你的Redis服务器IP)
redis-cli -h 192.168.1.100 -p 6379  # 192.168.1.100是你的Redis服务器IP,6379是默认端口
192.168.1.100:6379> ping  # 返回PONG,说明远程连接成功
PONG
192.168.1.100:6379> set test_key "redis_install_success"  # 测试设置键值对
OK
192.168.1.100:6379> get test_key  # 测试获取键值对
"redis_install_success"
192.168.1.100:6379> exit  # 退出客户端

# 方法2:Windows系统远程连接(使用Redis Desktop Manager客户端)
1. 下载Redis Desktop Manager(官网或国内镜像均可)
2. 安装完成后,打开客户端,点击“Connect to Redis Server”
3. 填写连接信息:Host(Redis服务器IP)、Port(6379),无需填写密码(默认无密码)
4. 点击“Test Connection”,提示“Success”即为连接成功,点击“OK”即可进入客户端操作

六、安装常见问题及避坑指南(新手必看)

整理了安装过程中最常见的4个问题,附上详细解决方案,避免新手卡壳,节省排查时间。

问题1:CentOS 7 执行redis-server --version 提示“command not found”

原因:通过scl源安装的Redis,路径过深,未配置符号链接,系统无法找到Redis可执行程序。
解决方案:重新执行“二、2.3 配置符号链接”步骤,确保三个可执行程序(redis-server、redis-sentinel、redis-cli)都正确链接到/usr/bin目录,再验证版本。

问题2:远程连接Redis失败,提示“Could not connect to Redis at 192.168.1.100:6379: Connection refused”

原因(按优先级排查):

  1. Redis服务未启动(最常见);
  2. 防火墙未关闭/未放行6379端口;
  3. Redis配置文件中bind参数未改为0.0.0.0,或protected-mode未改为no;
  4. 服务器IP错误,或网络不通。
    解决方案:
  5. 先在Redis服务器上执行service redis-server status(Ubuntu)或systemctl status redis(CentOS),确保Redis处于运行状态;
  6. 关闭防火墙,或放行6379端口(参考前文通用前置操作中的防火墙配置);
  7. 重新检查Redis配置文件,确保bind 0.0.0.0和protected-mode no配置正确,重启Redis服务;
  8. 执行ping 192.168.1.100(替换为你的服务器IP),验证网络是否通畅。

问题3:启动Redis失败,提示“Can’t open config file ‘/etc/redis/redis.conf’: No such file or directory”

原因:配置文件路径错误,尤其是CentOS 7系统,未正确配置符号链接,导致无法找到redis.conf文件。
解决方案:
CentOS 7:确认/etc/redis目录已正确链接到/etc/opt/rh/rh-redis5/,执行ls -l /etc/redis查看,若未链接,重新执行ln -s /etc/opt/rh/rh-redis5/ /etc/redis;
CentOS 8/Ubuntu:确认配置文件路径为/etc/redis.conf(CentOS 8)或/etc/redis/redis.conf(Ubuntu),启动时指定正确的配置文件路径。

问题4:重启服务器后,Redis无法自动启动

原因:未设置Redis开机自启,或开机自启配置错误。
解决方案:
CentOS 7:重新执行“二、2.6 设置Redis开机自启”步骤,确保redis.service文件配置正确,且systemctl enable redis执行成功;
CentOS 8:执行systemctl enable redis,确保开机自启已开启;
Ubuntu:默认已设置开机自启,若失败,执行systemctl enable redis-server,重启服务器验证。

七、总结

本文详细讲解了三种主流Linux系统(CentOS 7、CentOS 8、Ubuntu)的Redis安装全流程,核心亮点如下:

  • 全程采用仓库安装(yum/apt),无需手动编译,简化操作,新手友好;

  • 补充了符号链接、开机自启、远程连接验证等关键细节,规避常见坑点;

  • 每种系统的命令都可直接复制执行,步骤清晰,无需额外查阅资料;

  • 包含常见问题排查方案,解决新手安装时的卡壳问题。

安装完成后,即可开始使用Redis,后续可学习Redis核心数据类型、持久化配置、主从复制、哨兵机制等进阶内容,满足项目中的缓存、会话存储等需求。

如果安装过程中遇到其他问题,欢迎在评论区留言,看到后会第一时间回复排查!觉得有用的话,记得点赞收藏,关注我,后续更新更多Redis进阶实操教程~

更多推荐