温馨提示×

CentOS Redis配置有哪些关键点

小樊
38
2025-12-11 12:58:26
栏目: 云计算

CentOS 上部署与优化 Redis 的关键配置清单

一 基础网络与守护进程

  • 配置文件路径:常见为 /etc/redis/redis.conf;以 systemd 管理时,注意与服务单元的 PIDFile 路径一致。
  • 监听与端口:仅在内网使用可设 bind 127.0.0.1;需要远程访问时绑定内网地址或按白名单限制来源。
  • 守护进程:生产建议 daemonize yes,与 systemd 的 Type=forking 匹配。
  • 典型基础配置示例:
    • bind 127.0.0.1
    • port 6379
    • daemonize yes
    • pidfile /var/run/redis_6379.pid
    • logfile /var/log/redis/redis.log
    • dir /var/lib/redis
      以上路径与服务单元一致性、基础网络与守护进程设置,有助于稳定启停与排障。

二 安全加固

  • 认证与保护:启用 requirepass <强密码>;保持 protected-mode yes,仅在内网或受控网络下放宽。
  • 访问控制:通过 bind 限制监听接口;配合 firewalld/iptables 仅放行可信网段/IP 的 6379/tcp
  • 最小权限:创建 redis 专用系统用户,禁止以 root 运行 Redis。
  • 命令治理:重命名或禁用高危命令(如 FLUSHDB/FLUSHALL/KEYS),降低误操作与风险暴露。
  • 加密与合规:跨公网或合规要求时启用 SSL/TLS;保持 Redis 与系统补丁及时更新。
  • 示例(按需启用):
    • requirepass YourStrongPass!
    • bind 127.0.0.1(或内网白名单)
    • 防火墙放行:firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“10.0.0.0/8” port port=“6379” protocol=“tcp” accept’ && firewall-cmd --reload
      以上措施覆盖认证、访问控制、最小权限、命令治理与加密通信等核心安全要点。

三 持久化策略

  • RDB 快照:通过 save 900 1 / 300 10 / 60 10000 控制快照触发;也可禁用 save “”
  • AOF 追加:启用 appendonly yes,同步策略常用 appendfsync everysec(性能与持久化折中)。
  • 关键参数:
    • dbfilename dump.rdb
    • appendfilename “appendonly.aof”
    • dir /var/lib/redis(确保目录存在且 Redis 有写权限)
  • 验证与演练:
    • 配置生效后用 redis-cli 执行:config get save / appendonly / appendfsync
    • 写入测试数据,重启实例验证数据是否恢复
      上述 RDB/AOF 配置与验证流程,兼顾性能与数据安全,适用于大多数生产场景。

四 性能与稳定性优化

  • 内存治理:设置 maxmemory <容量>(如机器内存留出 20%~30% 余量),并选择合适的淘汰策略(如 volatile-lru / allkeys-lru / allkeys-lfu)。
  • 内核与网络:
    • 提升连接承载能力:tcp-backlog 511
    • 文件描述符:ulimit -n 65535,并在 /etc/security/limits.conf 为 redis 用户设置 soft/hard nofile
    • 系统参数:net.core.somaxconn、net.ipv4.tcp_max_syn_backlog 适度调高,net.ipv4.ip_local_port_range 合理放大
  • 透明大页(THP):建议禁用(如 echo never > /sys/kernel/mm/transparent_hugepage/enabled),降低 fork 与内存访问抖动。
  • 监控与调优:开启 slowlog-log-slower-than 10000(单位微秒)、slowlog-max-len 128;结合 INFO、监控平台(如 Prometheus/Grafana)持续观测。
  • 高可用与扩展:数据量大或可用性要求高时,考虑 Redis Cluster 或主从复制。
    以上优化项覆盖内存、网络、文件句柄、内核与监控,能显著提升稳定性与吞吐。

五 运维与验证

  • 服务管理:
    • 启动/停止/重启:systemctl start|stop|restart redis
    • 开机自启:systemctl enable redis
  • 连通性与健康:
    • 本地探活:redis-cli ping(返回 PONG 为正常)
    • 远程连接:redis-cli -h -p -a
  • 日志与审计:检查 logfile 输出,关注持久化、慢查询与异常告警。
  • 变更流程:修改 redis.conf 后先备份,必要时灰度重启;对关键参数(如 maxmemory、持久化策略)先在测试环境验证。
    以上步骤确保上线前后可验证、可回滚、可追溯,降低变更风险。

0