1. 为什么选择yum安装Redis?
在Linux系统上部署Redis服务时,yum安装方式往往是最快捷的选择。我经手过上百台服务器的Redis部署,yum安装相比源码编译能节省80%以上的时间。特别是在生产环境需要快速部署多台Redis实例时,这种优势更加明显。
yum会自动处理依赖关系,比如jemalloc内存分配器的安装。而源码编译时,经常会出现依赖库缺失导致编译失败的情况。记得有一次紧急扩容,我用源码编译花了2小时还没搞定依赖问题,换成yum安装3分钟就完成了部署。
2. 环境准备与yum源配置
2.1 检查系统版本
在开始前,建议先确认系统版本:
cat /etc/redhat-releaseCentOS 7和8的yum源配置略有不同。最近帮客户处理过CentOS 8的yum源问题,由于官方停止维护,需要切换镜像源。
2.2 配置EPEL仓库
Redis不在默认的yum源中,需要先安装EPEL仓库:
yum install -y epel-release如果遇到网络问题,可以改用国内镜像:
# 备份原有repo文件 mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup # 使用阿里云镜像 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo注意:CentOS 8需要将URL中的7改为8。我遇到过不少用户直接复制命令导致安装失败的情况。
3. Redis安装与基础配置
3.1 执行安装命令
安装Redis服务端:
yum install -y redis这个命令会同时安装redis-cli客户端工具。安装完成后检查版本:
redis-server --version3.2 关键配置文件说明
Redis的主要配置文件位于/etc/redis.conf,有几个参数需要特别关注:
| 参数 | 默认值 | 建议值 | 说明 |
|---|---|---|---|
| daemonize | no | yes | 以守护进程运行 |
| bind | 127.0.0.1 | 服务器IP | 绑定访问IP |
| protected-mode | yes | no | 关闭保护模式 |
| requirepass | (空) | 复杂密码 | 设置访问密码 |
3.3 启动与开机自启
启动Redis服务:
systemctl start redis设置开机启动:
systemctl enable redis验证服务状态:
systemctl status redis4. 安全加固与性能调优
4.1 基础安全设置
- 修改默认端口:编辑redis.conf,修改port参数
- 设置强密码:requirepass参数至少16位混合字符
- 禁用危险命令:
rename-command FLUSHALL "" rename-command CONFIG ""4.2 内存优化配置
根据服务器内存调整以下参数:
# 最大内存限制(示例为4GB服务器) maxmemory 3gb # 内存淘汰策略 maxmemory-policy allkeys-lru经验:生产环境建议预留20%内存给系统和其他进程。曾经有客户设置maxmemory=总内存导致系统OOM崩溃。
5. 常见问题排查
5.1 连接问题排查
如果无法连接Redis,按以下步骤检查:
- 确认防火墙规则:
firewall-cmd --list-all- 检查bind配置是否包含客户端IP
- 确认protected-mode是否为no
5.2 性能问题处理
遇到性能下降时,可以:
- 查看慢查询:
redis-cli slowlog get- 监控内存碎片率:
redis-cli info memory | grep ratio- 检查持久化阻塞:
redis-cli info persistence6. 生产环境建议
经过多年运维经验,我总结了几点生产环境部署建议:
- 至少部署一主一从架构,避免单点故障
- 定期备份RDB文件到其他服务器
- 监控内存使用率,设置合理的告警阈值
- 使用Redis的Cluster模式实现高可用
对于关键业务系统,建议配合哨兵(Sentinel)实现自动故障转移。最近处理过一个案例:某电商平台在618大促期间因为Redis单点故障导致服务中断,损失惨重。后来我们为其部署了Redis Cluster,再未出现过类似问题。