环境:CentOS7 / Ubuntu / 麒麟 Linux 通用;redis 7.x 稳定版
方案一:源码编译安装(生产推荐)
1. 安装依赖
# CentOS/RHEL
yum install -y gcc gcc-c++ make tcl
# Ubuntu/Debian
apt update && apt install -y gcc make tcl
2. 下载解压源码
# 下载,可换7.2.5等稳定版本
wget https://download.redis.io/releases/redis-7.2.5.tar.gz
tar -zxvf redis-7.2.5.tar.gz
cd redis-7.2.5
3. 编译 & 安装
make
# 可选:执行官方测试(耗时久,生产环境可跳过)
# make test
make PREFIX=/usr/local/redis install
PREFIX 指定安装目录,二进制文件放到
/usr/local/redis/bin
4. 创建 redis 用户、目录(安全规范,不使用 root 运行)
useradd -s /sbin/nologin redis
mkdir -p /usr/local/redis/{etc,data,logs}
chown -R redis:redis /usr/local/redis
5. 拷贝配置文件
cp redis.conf /usr/local/redis/etc/
修改 vim /usr/local/redis/etc/redis.conf 关键配置:
# 允许所有ip访问(内网使用,公网不要开)
bind 0.0.0.0
# 关闭保护模式
protected-mode no
# 后台守护进程启动
daemonize yes
# 设置密码
requirepass Redis@123456
# 数据持久化目录
dir /usr/local/redis/data
# 日志文件
logfile "/usr/local/redis/logs/redis.log"
# RDB持久化
save 60 1
# AOF开启(可选,更高数据安全)
appendonly yes
6. 配置 systemd 服务,开机自启
新建文件:vim /etc/systemd/system/redis.service
[Unit]
Description=Redis Server
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli -a Redis@123456 shutdown
Restart=always
[Install]
WantedBy=multi-user.target
# 重载systemd
systemctl daemon-reload
# 启动
systemctl start redis
# 设置开机自启
systemctl enable redis
# 查看状态
systemctl status redis
7. 验证
# 连接
/usr/local/redis/bin/redis-cli -a Redis@123456
# 测试
set k1 v1
get k1
8. 防火墙放行(CentOS)
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload
方案二:Docker 快速部署(测试、开发环境)
# 拉取镜像
docker pull redis:7.2.5
# 启动容器(带持久化+密码)
docker run -d \
--name redis \
-p 6379:6379 \
-v /data/redis/data:/data \
-v /data/redis/conf:/etc/redis \
redis:7.2.5 \
redis-server /etc/redis/redis.conf --requirepass Redis@123456
宿主机提前准备 redis.conf 挂载文件,参数同上
连接:docker exec -it redis redis-cli -a Redis@123456
可选进阶部署方案
- 主从复制:一主多从,数据备份,读写分离
- Redis Sentinel 哨兵:主从 + 故障自动切换(高可用)
- Redis Cluster 集群:分片 + 高可用,海量数据,3 主 3 从最低配置
生产注意事项
- 禁止公网直接暴露 6379 端口;密码复杂度高
- 内核调优:
vm.overcommit_memory = 1,关闭 transparent_hugepage - 内存策略:
maxmemory+maxmemory-policy allkeys-lru,防止 OOM - 定期备份 RDB/AOF,不要依赖 Redis 本身做唯一数据存储