news 2026/4/25 22:06:36

Linux Redis 安装与配置全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux Redis 安装与配置全攻略

前言

Redis作为高性能的键值对内存数据库,在现代Web架构中扮演着重要角色。本文将提供从源码编译到包管理器安装的完整方案,包含主从复制、持久化配置、性能优化等生产级设置,助你快速搭建高可用的Redis服务。

一、安装前准备

  1. 系统要求检查
    bash

检查系统版本和架构

cat /etc/os-release
uname -m # x86_64或aarch64

检查内存大小(建议至少2GB)

free -h
2. 环境准备
bash

安装编译依赖

sudo apt update # Ubuntu/Debian
sudo apt install build-essential tcl -y

sudo yum install gcc make tcl -y # CentOS/RHEL

二、安装方法对比

方案对比表
方法 优点 缺点 适用场景
源码编译 版本灵活,最新特性 步骤复杂,需手动配置 开发测试、特定版本需求
包管理器 简单快捷,自动管理 版本可能较旧 生产环境、快速部署
Docker 环境隔离,一键部署 性能略有损耗 容器化环境

三、方法一:源码编译安装(最新稳定版)

  1. 下载与解压
    bash

创建安装目录

mkdir -p /opt/redis
cd /opt/redis

下载Redis 7.x稳定版

wget https://download.redis.io/redis-stable.tar.gz
tar -xzf redis-stable.tar.gz
cd redis-stable
目录结构预览:

text
redis-stable/
├── src/ # 源代码
├── tests/ # 测试文件
├── redis.conf # 配置文件模板
└── README.md
2. 编译与安装
bash

编译Redis(需要gcc编译器)

make -j$(nproc) # 使用所有CPU核心加速编译

测试编译结果(可选但推荐)

make test

安装到系统目录

sudo make install
编译过程示意图:

text
CC Makefile.dep
CC adlist.o
CC quicklist.o
CC ae.o
…(约30个文件)
LINK redis-server
INSTALL redis-sentinel
INSTALL redis-cli
3. 验证安装
bash

查看版本

redis-server --version

输出:Redis server v=7.0.x sha=xxxxxx bits=64

启动Redis服务端

redis-server
成功启动标志:

text

  • Ready to accept connections
  • DB loaded from disk: 0.001 seconds

四、方法二:包管理器安装(推荐生产环境)

  1. Ubuntu/Debian 安装
    bash

添加官方PPA(获取最新版本)

sudo add-apt-repository ppa:redislabs/redis -y
sudo apt update

安装Redis

sudo apt install redis-server -y

验证安装

redis-cli ping

返回:PONG

  1. CentOS/RHEL 安装
    bash

启用EPEL仓库

sudo yum install epel-release -y

安装Redis

sudo yum install redis -y

或使用Remi仓库(更新版本)

sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
sudo yum --enablerepo=remi install redis -y
3. 服务管理
bash

启动服务

sudo systemctl start redis # Ubuntu 16.04+/CentOS 7+

sudo service redis start # 旧版本

设置开机自启

sudo systemctl enable redis

查看服务状态

sudo systemctl status redis
服务状态正常显示:

text
● redis.service - Redis In-Memory Data Store
Loaded: loaded (/lib/systemd/system/redis.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2023-10-01 10:00:00 CST; 1min ago

五、基础配置与优化

  1. 配置文件位置
    bash

Ubuntu/Debian

/etc/redis/redis.conf

CentOS/RHEL

/etc/redis.conf

源码安装默认

/opt/redis/redis-stable/redis.conf
2. 关键配置项详解
bash

备份原配置

sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.backup

编辑配置文件

sudo nano /etc/redis/redis.conf
必须修改的配置:

ini

绑定地址(生产环境建议具体IP)

bind 127.0.0.1 # 仅本地访问

或 bind 0.0.0.0 # 允许所有IP(需配合防火墙)

保护模式(外网访问需关闭)

protected-mode no

端口设置

port 6379

守护进程模式(后台运行)

daemonize yes

日志文件

logfile /var/log/redis/redis-server.log

数据持久化目录

dir /var/lib/redis

最大内存设置

maxmemory 2gb
maxmemory-policy allkeys-lru

认证密码(生产环境必须)

requirepass YourStrongPassword123!
3. 数据目录设置
bash

创建数据目录

sudo mkdir -p /var/lib/redis
sudo chown redis:redis /var/lib/redis # Ubuntu

或 sudo chown redis:redis /var/lib/redis # CentOS

创建日志目录

sudo mkdir -p /var/log/redis
sudo chown redis:redis /var/log/redis

六、Redis 持久化配置

  1. RDB 快照配置
    ini

在redis.conf中添加

save 900 1 # 900秒内至少1个key变化
save 300 10 # 300秒内至少10个key变化
save 60 10000 # 60秒内至少10000个key变化

RDB文件名称

dbfilename dump.rdb

压缩RDB文件

rdbcompression yes
2. AOF 追加日志配置
ini

启用AOF

appendonly yes

AOF文件名

appendfilename “appendonly.aof”

同步策略(平衡性能与安全)

appendfsync everysec

自动重写AOF文件

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
3. 混合持久化(Redis 4.0+)
ini

RDB+AOF混合模式

aof-use-rdb-preamble yes

七、安全加固

  1. 防火墙配置
    bash

Ubuntu UFW

sudo ufw allow from 192.168.1.0/24 to any port 6379
sudo ufw reload

CentOS Firewalld

sudo firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.0/24” port protocol=“tcp” port=“6379” accept’
sudo firewall-cmd --reload
2. 重命名危险命令
ini

禁用或重命名危险命令

rename-command FLUSHDB “”
rename-command FLUSHALL “”
rename-command CONFIG “CONFIG-SECURE”
rename-command SHUTDOWN “SHUTDOWN-SECURE”
3. TLS加密(Redis 6.0+)
bash

生成TLS证书

openssl genrsa -out redis.key 2048
openssl req -new -key redis.key -out redis.csr
openssl x509 -req -days 365 -in redis.csr -signkey redis.key -out redis.crt

配置文件启用TLS

tls-port 6379
tls-cert-file /path/to/redis.crt
tls-key-file /path/to/redis.key

八、性能测试与监控

  1. 基准测试
    bash

使用redis-benchmark测试

redis-benchmark -h 127.0.0.1 -p 6379 -a YourPassword -t set,get -n 100000 -c 100

测试结果示例:

====== SET ======
100000 requests completed in 1.00 seconds
100 parallel clients
3 bytes payload
keep alive: 1
99.99% <= 1 milliseconds
99999.99 requests per second
2. 监控指标查看
bash

连接Redis

redis-cli -a YourPassword

查看信息

INFO
INFO memory # 内存信息
INFO stats # 统计信息
INFO replication # 复制信息
INFO persistence # 持久化信息

退出

exit
3. 安装RedisInsight(可视化工具)
bash

下载并安装

wget https://download.redisinsight.redis.com/latest/redisinsight-linux64.tar.gz
tar -xzf redisinsight-linux64.tar.gz
cd redisinsight-linux64
./redisinsight-linux64

访问 http://localhost:5540

九、主从复制配置

  1. 主服务器配置
    ini

master.conf

bind 192.168.1.100
port 6379
requirepass MasterPassword123
masterauth SlavePassword456
2. 从服务器配置
ini

slave.conf

bind 192.168.1.101
port 6379
requirepass SlavePassword456

指定主服务器

slaveof 192.168.1.100 6379
masterauth MasterPassword123

只读模式

slave-read-only yes
3. 启动与验证
bash

分别启动主从

redis-server /path/to/master.conf
redis-server /path/to/slave.conf

检查复制状态

redis-cli -h 192.168.1.100 -a MasterPassword123 INFO replication

十、故障排除

  1. 常见问题解决
    bash

问题1:启动失败,端口被占用

sudo netstat -tulnp | grep :6379
sudo kill -9

或修改端口

问题2:内存不足

调整配置:maxmemory 1gb

问题3:连接超时

检查防火墙和bind设置

问题4:AOF文件损坏

修复命令:

redis-check-aof --fix appendonly.aof
2. 日志分析
bash

查看错误日志

sudo tail -f /var/log/redis/redis-server.log

常见日志信息:

* DB loaded from disk: 0.001 seconds # 启动成功

* Background saving started by pid 1234 # RDB保存开始

* Client closed connection # 客户端断开

* Creating Server TCP listening socket *:6379: bind: Address already in use # 端口冲突

  1. 性能诊断
    bash

慢日志查询

redis-cli -a YourPassword
CONFIG SET slowlog-log-slower-than 10000 # 记录超过10ms的命令
SLOWLOG GET 10 # 查看最近10条慢查询

十一、备份与恢复

  1. 手动备份
    bash

RDB备份

cp /var/lib/redis/dump.rdb /backup/dump-$(date +%Y%m%d).rdb

AOF备份

cp /var/lib/redis/appendonly.aof /backup/aof-$(date +%Y%m%d).aof
2. 自动备份脚本
bash
#!/bin/bash

redis_backup.sh

BACKUP_DIR=“/backup/redis”
DATE=$(date +%Y%m%d_%H%M%S)

执行BGSAVE

redis-cli -a YourPassword BGSAVE

等待保存完成

sleep 10

复制RDB文件

cp /var/lib/redis/dump.rdbKaTeX parse error: Expected group after '_' at position 16: BACKUP_DIR/dump_̲DATE.rdb

保留最近7天备份

find $BACKUP_DIR -name “dump_*.rdb” -mtime +7 -delete
3. 恢复数据
bash

停止Redis

sudo systemctl stop redis

恢复RDB文件

cp /backup/dump-20231001.rdb /var/lib/redis/dump.rdb

修改文件权限

chown redis:redis /var/lib/redis/dump.rdb

启动Redis

sudo systemctl start redis
安装验证清单
✅ 基础检查:

Redis服务正常运行:sudo systemctl status redis

可以连接:redis-cli ping 返回 PONG

版本正确:redis-server --version

✅ 安全配置:

设置了认证密码

绑定了特定IP或启用了保护模式

防火墙已配置

危险命令已重命名

✅ 持久化配置:

RDB或AOF已启用

数据目录权限正确

备份脚本已测试

✅ 性能优化:

内存限制已设置

淘汰策略合理

日志路径正确

总结建议

生产环境建议:使用包管理器安装+自定义配置

开发环境:使用Docker快速部署

内存规划:预留20-30%内存给系统

监控必备:设置Redis监控告警

定期维护:清理碎片,检查备份

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 4:50:11

工业AI大模型:当工厂开始“深度思考”,一场静默的革命正在发生

凌晨三点&#xff0c;重庆某汽车零部件工厂的冲压产线突然响起刺耳的报警声。在过去&#xff0c;这意味着当班工程师需要一头扎进浩如烟海的故障手册与历史工单中&#xff0c;凭借经验和直觉摸索两小时以上。而此刻&#xff0c;系统在不到一秒的时间内&#xff0c;从后台调取了…

作者头像 李华
网站建设 2026/4/22 7:25:13

【强烈收藏】AI大模型发展史:从规则式AI到智能体应用的全方位解读

本文系统梳理了AI从诞生至今的发展历程&#xff0c;分为初生期(1956-1989)、成长期(1990-2016)和爆发期(2017年至今)三个阶段。从最初的规则式AI到基于机器学习的统计式AI&#xff0c;再到以Transformer架构为基础的大模型AI&#xff0c;技术不断演进。文章详细介绍了大模型、多…

作者头像 李华
网站建设 2026/4/22 16:05:33

AI Agent:2026年AI生态革命,开发者的收藏级技术指南

AI Agent 是2026年AI生态的核心概念&#xff0c;它指的是一个具备自主决策、规划和执行能力的数字实体&#xff0c;不再局限于简单的问答或生成式AI&#xff0c;而是能像人类员工一样处理复杂任务。简单来说&#xff0c;Agent 能理解用户意图、分解目标成步骤、调用外部工具或数…

作者头像 李华
网站建设 2026/4/22 16:27:40

换热站程序组态系统开发记录

换热站程序组态系统&#xff0c;2个循环泵&#xff0c;2个补水泵&#xff0c;循环泵与补水泵采用一用一备&#xff0c;按设置时间自动切换&#xff0c;CAD图纸 硬件&#xff1a;昆仑通泰触摸屏和西门子200smart供参考最近搞了个换热站程序组态系统&#xff0c;跟大家分享分享过…

作者头像 李华
网站建设 2026/4/22 7:20:41

SPH 与 DEM 方法系统对比

[toc0] SPH 与 DEM 方法系统对比&#xff1a;异同与耦合应用 一、核心本质差异 维度SPH (Smoothed Particle Hydrodynamics)DEM (Discrete Element Method)物理本质连续介质近似&#xff1a;粒子代表连续流体/固体的"质量点"&#xff0c;通过核函数重构场变量离散…

作者头像 李华
网站建设 2026/4/25 5:47:54

小白也能看懂!LLM强化学习(RL)核心解析+PPO训练全流程

对于刚入门大模型的程序员和小白来说&#xff0c;强化学习&#xff08;RL&#xff09;是理解LLM训练逻辑的关键一环——2026年大模型技术持续迭代&#xff0c;RL与LLM的结合愈发紧密&#xff0c;掌握其核心框架和实操逻辑&#xff0c;能快速提升对大模型训练的认知。本文将用通…

作者头像 李华