“CentOS 上 Redis 配置后崩溃/起不来”通常不是 Redis 本身有 bug,而是配置或系统环境不匹配导致的。下面按最常见原因 → 排查方法 → 解决办法给你一个清单,基本能覆盖 90% 的情况。
现象
Memory error
# Out Of Memory
或系统日志:
Out of memory: Kill process (redis-server)
原因
maxmemory 设置过大✅ 解决
maxmemory 512mb
maxmemory-policy allkeys-lru
或关闭 RDB:
save ""
现象
redis-server /etc/redis.conf 直接退出Bad directive or wrong number of arguments
✅ 排查
redis-server /etc/redis.conf
看具体哪一行报错
✅ 常见错误
maxmemory512mbdir /data/redis# 但后面有非法字符现象
✅ 检查
ls -ld /var/lib/redis
ls -l /var/lib/redis/dump.rdb
✅ 修复
chown -R redis:redis /var/lib/redis
chmod 750 /var/lib/redis
现象
/var/log/audit/audit.log 有 deny✅ 快速验证
setenforce 0
如果能启动 → 就是 SELinux
✅ 正式解决
semanage fcontext -a -t redis_var_lib_t '/data/redis(/.*)?'
restorecon -Rv /data/redis
现象
✅ 检查
bind 0.0.0.0
protected-mode no
⚠️ 生产环境不要直接 protected-mode no 不配密码
现象
systemctl start redis
失败,但手动能跑
✅ 常见原因
redis.service 里用户不对✅ 示例
[Service]
User=redis
Group=redis
ExecStart=/usr/bin/redis-server /etc/redis.conf
# 1. 看日志
journalctl -u redis -n 50
cat /var/log/redis/redis.log
# 2. 手动启动看报错
redis-server /etc/redis.conf
# 3. 看系统日志
dmesg | grep redis
如果你愿意,我可以精准定位:
redis-server --version)cat /etc/centos-release)我可以直接帮你改一份可稳定运行的生产配置。