Redis配置Ubuntu环境需注意啥
小樊
34
2025-11-25 01:09:38
Ubuntu 上配置 Redis 的关键注意事项
一 安装与基础检查
- 使用包管理器安装并验证服务状态:执行 sudo apt update && sudo apt install redis-server,随后用 sudo systemctl status redis-server 检查是否运行正常。默认监听 6379 端口,仅本地回环可达。若需确认进程与端口,可用 ps -ef | grep redis-server 与 ss -lntp | grep 6379。以上步骤适用于 Ubuntu 16.04 及以上版本的稳定流程。
二 网络与访问控制
- 绑定地址与保护模式:默认 bind 127.0.0.1 仅本地访问;如需远程访问,可改为 bind 0.0.0.0 或注释掉该行。若开启远程访问,务必同时设置强密码(见下节),否则在 protected-mode yes 下会被拒绝。若临时测试需关闭保护模式,可将 protected-mode no,但生产环境不建议。
- 防火墙与云安全组:开放端口 6379/tcp(如 sudo ufw allow 6379/tcp),云服务器还需在控制台安全组放行对应端口,避免“能连端口但被拦截”的误判。
- 连接验证:远程测试可用 redis-cli -h <服务器IP> -p 6379 ping,返回 PONG 表示连通。
三 安全加固
- 强密码认证:取消注释并设置 requirepass your_strong_password,客户端连接需 AUTH <密码> 或在 redis-cli -a <密码> 登录。
- 最小暴露面:仅在必要时开放远程;尽量使用 bind 内网地址 配合内网应用访问;避免将 6379 暴露在公网。
- 配置与文件权限:确保 Redis 进程对配置文件有读取权限,建议 sudo chmod 644 /etc/redis/redis.conf 与 sudo chown redis:redis /etc/redis/redis.conf,防止配置被非授权修改。
四 持久化与内存管理
- 持久化策略:RDB 快照适合容忍一定数据丢失的场景,AOF 适合更高数据安全性。可按需开启:
- RDB 示例:save 900 1、save 300 10、save 60 10000(分别表示在 900 秒内有 1 次、300 秒内有 10 次、60 秒内有 10000 次写操作时触发快照)。
- AOF 示例:appendonly yes、appendfsync everysec(每秒 fsync,兼顾性能与可靠性)。
- 内存与淘汰:设置 maxmemory <上限>(如 2gb)并结合业务选择合适的淘汰策略(如 volatile-lru、allkeys-lru、volatile-lfu、allkeys-lfu),避免 OOM。
- 数据目录与权限:确认 dir /var/lib/redis 存在且 redis:redis 拥有读写权限,避免因目录权限导致 RDB/AOF 写入失败。
五 服务管理与常见排错
- 启动与开机自启:使用 sudo systemctl start|restart|enable redis-server 管理服务;修改配置后建议先测试再重启。
- 配置语法与路径:变更前执行 redis-server /path/to/redis.conf --test-config 校验语法;找不到配置文件时,可从官方源码复制默认 redis.conf 到 /etc/redis/。
- 常见症状速查:
- 远程连不上但本机可连:检查 bind、protected-mode、密码 与 防火墙/安全组 是否放行 6379/tcp。
- 配置不生效或启动失败:核对配置项拼写、路径与权限,并用 –test-config 排查语法错误。