Ubuntu Redis配置要注意什么
小樊
44
2025-11-30 23:37:03
Ubuntu 上配置 Redis 的关键注意事项
一 基础安全与访问控制
- 默认仅监听本机:配置文件 /etc/redis/redis.conf 中的 bind 127.0.0.1 只允许本机访问;若确需远程,改为 bind 0.0.0.0 并配合防火墙与强认证。远程开放前务必评估风险。
- 启用强密码:设置 requirepass your_strong_password,避免无鉴权访问。
- 保护模式:保持 protected-mode yes,在公网或未设置密码/绑定特定接口时阻止未授权访问。
- 防火墙与端口:如需远程,使用 ufw allow 6379 仅放通必要来源;默认端口为 6379,变更端口需同步客户端与防火墙规则。
- 最小权限原则:避免使用 chmod 777 redis.conf 这类过度授权,按需设置文件权限与属主。
二 持久化与数据可靠性
- RDB 快照:通过 save 900 1 / 300 10 / 60 10000 控制快照触发;开启 stop-writes-on-bgsave-error yes 可在快照失败时停止写入,避免数据空洞。
- AOF 追加日志:按需开启 appendonly yes,并选择同步策略 appendfsync everysec(平衡性能与持久性)。
- 共存与取舍:RDB 与 AOF 可同时开启;通常 AOF 开启时 RDB 默认不再生效,以 AOF 为主时建议明确策略与重写参数。
- 数据与日志路径:确认 dir /var/lib/redis(或自定义目录)具备足够空间与正确权限;RDB 文件名 dbfilename dump.rdb。
三 运行方式与系统整合
- 守护进程与系统托管:Ubuntu 使用 systemd,建议设置 daemonize yes 与 supervised systemd,便于开机自启与系统级管理。
- 服务管理:使用 sudo systemctl start|stop|restart|status redis 管理服务;变更配置后优先 reload 或 restart 使其生效。
- 基本连通性测试:执行 redis-cli ping,返回 PONG 表示实例可达;远程连接可用 redis-cli -h -p 6379 -a 。
四 性能与资源控制
- 内存上限与淘汰策略:设置 maxmemory (如 2gb),并选择策略 maxmemory-policy allkeys-lru / volatile-lru / noeviction 等,防止 OOM。
- 连接与存活:调整 timeout(空闲超时)与 tcp-keepalive 300(探测死连接),提升稳定性。
- 监控与告警:结合 INFO 指标与 Prometheus + Grafana 等监控体系,关注命中率、延迟、持久化状态与内存使用。
五 常见坑与排查清单
- 远程连不上:核对 bind、protected-mode、requirepass、ufw 与云安全组/本机防火墙是否一致。
- 配置不生效:确认修改的是 /etc/redis/redis.conf,并执行 systemctl reload/restart redis;使用 redis-cli config get 校验。
- 持久化异常:RDB 失败检查 stop-writes-on-bgsave-error、磁盘空间与 dir 权限;AOF 关注 appendfsync 与重写策略。
- 日志与定位:设置 logfile 与合适的 loglevel,便于问题排查。