生产环境推荐源码编译安装Redis,以确保版本可控、配置清晰、路径明确;主从部署需严格区分角色:主节点负责写入并禁用replicaof,从节点配置replicaof指向主节点且设为只读,并通过info replication和键值同步验证状态。

Linux 运维中安装配置 Redis 并搭建主从复制,关键在于版本可控、配置清晰、角色分明。生产环境推荐源码编译安装,避免包管理器提供的旧版本带来的兼容或安全风险;主从结构不是“装完就能用”,而是要明确主节点写、从节点读、数据异步同步这一基本逻辑。
源码编译安装 Redis(推荐生产使用)
确保系统已安装基础依赖:
- CentOS/RHEL:运行 sudo yum install -y gcc make tcl
- Ubuntu/Debian:运行 sudo apt update && sudo apt install -y build-essential tcl
- 禁用透明大页(THP),防止延迟抖动:
echo never > /sys/kernel/mm/transparent_hugepage/enabled,并追加到 /etc/rc.local 中确保重启生效
下载并安装最新稳定版(以 Redis 7.2.4 为例):
- wget https://download.redis.io/releases/redis-7.2.4.tar.gz
- tar xzf redis-7.2.4.tar.gz && cd redis-7.2.4
- make -j$(nproc) BUILD_TLS=yes && sudo make install
- 默认安装至 /usr/local/bin/;建议手动创建配置目录:
sudo mkdir -p /etc/redis /var/lib/redis,并将源码包中的 redis.conf 复制过去
基础服务配置(主节点与从节点共用模板)
编辑 /etc/redis/redis.conf,按角色差异化设置:
- 通用项(主/从均需):
daemonize yes(后台运行)
bind 0.0.0.0(允许远程连接,生产建议配合防火墙限制IP)
protected-mode no(关闭保护模式,否则无法远程访问)
requirepass your_secure_password(统一设置强密码,主从间认证一致)
maxmemory 2gb(根据物理内存合理设定)
appendonly yes(开启AOF持久化,保障数据安全) - 主节点专属:
保持 replicaof 行被注释(即不指向其他节点) - 从节点专属:
取消注释并填写:replicaof 192.168.1.10 6379(替换为真实主节点IP和端口)
添加:replica-read-only yes(强制只读,防止误写)
启动服务并验证主从状态
分别在主、从服务器上启动 Redis:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- redis-server /etc/redis/redis.conf
- 检查进程:ps aux | grep redis
- 连接本机确认服务可用:redis-cli -a your_secure_password ping → 应返回 PONG
登录主节点,查看复制信息:
- redis-cli -a your_secure_password info replication
- 关注字段:role:master、connected_slaves:1(从节点数)
登录从节点执行相同命令,应看到:role:replica、master_host:192.168.1.10、master_link_status:up
进一步验证同步效果:在主节点执行 SET testkey "hello",稍等片刻后在从节点执行 GET testkey,应能正确返回值。
主从切换与运维注意事项
Redis 主从本身不自动故障转移,它只是数据同步机制。若需高可用,必须叠加哨兵(Sentinel)或集群(Cluster):
- 哨兵负责监控主节点健康、自动发起故障转移、通知客户端新主地址
- 主从间网络必须通畅,延迟过高会导致复制积压(repl_backlog_size 可调大缓解)
- 从节点不可写,但可启用 replica-serve-stale-data yes(默认),使其在网络断开时仍响应旧数据,避免服务中断
- 定期检查 INFO replication 输出,重点关注 master_last_io_seconds_ago(应 lag 值

















