CentOS 7 安装 Redis(使用默认 6379 端口)完整实践与踩坑总结

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 端口

✅ 安全性依赖:

  • bind
  • requirepass
  • 防火墙

✅ 端口号本身并不是安全手段


结语

在 CentOS 7 这样的老系统上,
遵循系统默认设计,往往比"强行改配置"更加稳定可靠

Redis 使用默认 6379,配合密码与访问控制,

是目前最简单、也最不容易踩坑的实践方式。


完。

相关推荐
工业一体机老司机27 分钟前
Linux工业一体机自启动服务配置:systemd服务单元编写与开机优化实战
java·linux·服务器
zhixingheyi_tian29 分钟前
Linux 之 ssh
linux·服务器·ssh
小鱼仙官1 小时前
Ubuntu C++ NTP校时程序
linux·c++·ubuntu
RisunJan1 小时前
Linux命令-vgdisplay(显示卷组详细属性)
linux·运维·数据库
深念Y2 小时前
RIO-UL00(EMUI 4.1 / Android 6.0.1 / arm64)开机自启动 sshd
android·linux·华为·安卓·chroot·sshd·emui
Escalating_xu2 小时前
【Linux线程】线程控制全解析:终止、join/detach、cancel、线程栈与 NPTL(下篇)
java·linux·运维
2602_959960922 小时前
电商大厂Java面试实录:Spring Boot/JVM/Redis/Kafka/微服务/安全/测试全解析
java·jvm·spring boot·redis·面试题
老当益壮梁奶奶2 小时前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
sunoo-2292 小时前
C 语言文件 IO 全攻略:从基础函数到实战踩坑(BMP 读取 + 词典查询)
linux·c语言·前端·笔记·vscode·学习
草莓熊Lotso2 小时前
【Linux网络加餐】手动部署:SSH 与 Web 服务实战 + 底层原理全解析
linux·运维·网络·人工智能·python·langchain·ssh