超详细Redis安装教程(CentOS 7_8 + Ubuntu 全版本,附避坑指南)
前情提要:我们可以先将架构理解清楚
各种架构讲解
前言: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”
原因(按优先级排查):
- Redis服务未启动(最常见);
- 防火墙未关闭/未放行6379端口;
- Redis配置文件中bind参数未改为0.0.0.0,或protected-mode未改为no;
- 服务器IP错误,或网络不通。
解决方案: - 先在Redis服务器上执行service redis-server status(Ubuntu)或systemctl status redis(CentOS),确保Redis处于运行状态;
- 关闭防火墙,或放行6379端口(参考前文通用前置操作中的防火墙配置);
- 重新检查Redis配置文件,确保bind 0.0.0.0和protected-mode no配置正确,重启Redis服务;
- 执行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进阶实操教程~
更多推荐



所有评论(0)