需依次执行环境准备、编译安装、守护进程配置与RDB/AOF策略设定:先安装gcc等依赖,再下载编译Redis源码并安装至/usr/local/redis;修改配置启用daemonize、PID及日志路径;配置RDB快照触发条件与存储目录;启用AOF日志及重写机制;最后同时开启RDB与AOF,确保重启优先用AOF恢复。
如果您希望在Linux系统中部署Redis作为高性能缓存服务,但尚未完成安装、后台运行配置及持久化机制启用,则需依次执行环境准备、编译安装、守护进程配置与RDB/AOF策略设定。以下是具体操作步骤:
一、从源码编译安装Redis
该方法适用于生产环境,可精确控制版本与安装路径,并确保二进制文件与配置分离。需先安装编译依赖,再解压、编译并安装Redis核心组件。
1、安装必要编译工具:对于CentOS/RHEL系统,执行
yum install -y gcc make tcl;对于Debian/Ubuntu系统,执行apt update && apt install -y build-essential tcl。
2、下载Redis稳定版源码包,例如Redis 7.0.9:wget http://download.redis.io/releases/redis-7.0.9.tar.gz。
3、解压并进入源码目录:
tar -zxvf redis-7.0.9.tar.gz && cd redis-7.0.9。
4、执行编译:
make;若提示tcl缺失,先安装tcl后再运行make test验证功能完整性。
5、指定安装路径进行安装:
make PREFIX=/usr/local/redis install,二进制文件将被复制至/usr/local/redis/bin/目录。
二、配置Redis为后台守护进程运行
默认情况下Redis以前台模式启动,会阻塞终端;通过修改配置文件启用daemonize模式,使其脱离终端持续运行,并支持系统级管理。
1、创建配置目录并复制配置文件:
mkdir -p /usr/local/redis/etc && cp redis.conf /usr/local/redis/etc/6379.conf。
2、编辑配置文件:
vi /usr/local/redis/etc/6379.conf,定位到daemonize no行,将其修改为daemonize yes。
3、设置PID文件路径以方便进程管理:
pidfile /var/run/redis_6379.pid(需确保/var/run目录可写)。
4、指定日志输出位置便于排错:
logfile /var/log/redis_6379.log(需提前创建/var/log/redis目录并赋权)。
5、启动服务:
/usr/local/redis/bin/redis-server /usr/local/redis/etc/6379.conf。
6、验证是否后台运行:
ps aux | grep redis,应显示类似redis-server *:6379的进程条目。
三、启用RDB快照持久化
RDB是Redis默认启用的持久化方式,通过周期性生成内存数据的时间点快照保存至磁盘,恢复速度快且适合备份场景。
1、在
/usr/local/redis/etc/6379.conf中确认以下配置未被注释且值有效:
2、检查
save 900 1(900秒内至少1个key变更则触发快照)。
CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
下载
3、检查
save 300 10(300秒内至少10个key变更则触发快照)。
4、检查
save 60 10000(60秒内至少10000个key变更则触发快照)。
5、设置RDB文件名:
dbfilename dump.rdb。
6、指定RDB文件存储目录:
dir /usr/local/redis/data(需手动创建该目录并确保redis用户有读写权限)。
四、启用AOF日志持久化
AOF通过记录每条写命令实现更高数据安全性,适合对丢失敏感的应用;其重写机制可压缩日志体积,避免无限膨胀。
1、在配置文件中启用AOF:
appendonly yes。
2、设置AOF同步策略:
appendfsync everysec(推荐,兼顾性能与安全)。
3、指定AOF文件名:
appendfilename "appendonly.aof"。
4、开启AOF自动重写条件:
auto-aof-rewrite-percentage 100与auto-aof-rewrite-min-size 64mb。
5、配置AOF重写期间是否暂停新写入:
aof-rewrite-incremental-fsync yes(降低I/O压力)。
五、同时启用RDB与AOF的协同配置
当两种持久化方式均启用时,Redis重启优先使用AOF恢复数据,确保最大程度不丢数据;RDB仍可作为冷备或人工触发的全量备份手段。
1、确认配置文件中同时存在且未被注释:
save系列指令与appendonly yes。
2、检查
aof-load-truncated yes(允许加载被截断的AOF文件,避免因异常关机导致启动失败)。
3、检查
rdb-save-incremental-fsync yes(RDB保存时启用增量fsync,减少主线程阻塞)。
4、重启Redis服务使全部持久化配置生效:
kill $(cat /var/run/redis_6379.pid) && /usr/local/redis/bin/redis-server /usr/local/redis/etc/6379.conf。
5、连接客户端验证状态:
/usr/local/redis/bin/redis-cli ping,返回PONG表示服务正常响应。
