CentOS 7 安装 Redis(使用默认 6379 端口)完整实践与踩坑总结
本文基于一次 真实服务器环境 的实践,记录了在 CentOS 7(已 EOL) 系统上,通过
yum安装 Redis 并最终稳定运行在默认端口 6379 的全过程。特别适合:
- CentOS 7 老系统
- Java / Spring Boot 项目
- 在修改 Redis 端口、systemd 启动时踩过坑的人
一、服务器与环境说明
bash
uname -a
text
Linux bogon 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 GNU/Linux
- 操作系统:CentOS 7.x(已停止维护)
- Redis 安装方式:yum(systemd 管理)
- Redis 版本:5.x(EPEL 源)
- 最终端口:6379(默认端口)
二、安装 Redis(EPEL 源方式,推荐)
1️⃣ 安装 EPEL 仓库
bash
yum install -y epel-release
如果担心 CentOS 7 EOL 后 mirrorlist 不可用,可手动切换为归档源(可选):
bash
sed -i 's|^mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/epel.repo
sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://archives.fedoraproject.org/pub|g' /etc/yum.repos.d/epel.repo
bash
yum clean all
yum makecache
2️⃣ 安装 Redis
bash
yum install -y redis
安装完成后主要文件:
- 配置文件:
/etc/redis.conf - 服务文件:
/usr/lib/systemd/system/redis.service - 数据目录:
/var/lib/redis
三、Redis 正确配置(systemd + 6379)
重点:在 systemd 环境下,不要使用 daemonize yes
编辑配置文件:
bash
vim /etc/redis.conf
✅ 关键配置项(推荐)
conf
# 默认端口(保持不变)
port 6379
# 监听本地地址(更安全)
bind 127.0.0.1
# systemd 环境下必须这样
daemonize no
supervised systemd
# 设置访问密码(强烈推荐)
requirepass Redis@123
# 日志与数据目录
logfile /var/log/redis/redis.log
dir /var/lib/redis
保存退出。
四、启动 Redis 并设置开机自启
bash
systemctl start redis
systemctl enable redis
systemctl status redis
✅ 正常状态应看到:
text
Active: active (running)
五、功能验证
1️⃣ 检查监听端口
bash
ss -lntp | grep redis
返回类似:
text
127.0.0.1:6379
2️⃣ 本地 Redis 测试
bash
redis-cli -a Redis@123 ping
返回:
text
PONG
✅ Redis 正常运行
六、Java / Spring Boot 示例配置
yaml
spring:
redis:
host: 127.0.0.1
port: 6379
password: Redis@123
timeout: 5000
七、踩坑与问题总结(非常重要)
❌ 坑 1:Redis 改端口后 systemctl 启动失败
现象:
text
redis.service: main process exited, status=1/FAILURE
原因:
- yum 安装的 redis.service 自带
redis-shutdown redis-shutdown默认只连接127.0.0.1:6379- 改成 6380 后,systemd 在停止/检测阶段失败
✅ 解决:回退使用默认 6379 是最稳妥方案
❌ 坑 2:daemonize yes 导致 Redis 无法被 systemd 管理
错误配置:
conf
daemonize yes
正确做法(systemd 环境):
conf
daemonize no
supervised systemd
❌ 坑 3:前台启动正常,systemctl 却失败
bash
redis-server /etc/redis.conf
无输出 ≠ 卡死,而是 Redis 已正常运行在前台。
systemd 失败,往往是 ExecStop / redis-shutdown 机制问题。
八、经验总结
✅ CentOS 7 + Redis 最稳组合:
- yum 安装
- systemd 管理
- 默认 6379 端口
✅ 安全性依赖:
bindrequirepass- 防火墙
✅ 端口号本身并不是安全手段
结语
在 CentOS 7 这样的老系统上,
遵循系统默认设计,往往比"强行改配置"更加稳定可靠。
Redis 使用默认 6379,配合密码与访问控制,
是目前最简单、也最不容易踩坑的实践方式。
完。