Redis 完整安装部署方案(Linux,分【源码编译】+【Docker】两种,推荐生产用源码,测试快速用 Docker)

环境: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


可选进阶部署方案

  1. 主从复制:一主多从,数据备份,读写分离
  2. Redis Sentinel 哨兵:主从 + 故障自动切换(高可用)
  3. Redis Cluster 集群:分片 + 高可用,海量数据,3 主 3 从最低配置

生产注意事项

  1. 禁止公网直接暴露 6379 端口;密码复杂度高
  2. 内核调优:vm.overcommit_memory = 1,关闭 transparent_hugepage
  3. 内存策略:maxmemory + maxmemory-policy allkeys-lru,防止 OOM
  4. 定期备份 RDB/AOF,不要依赖 Redis 本身做唯一数据存储
相关推荐
程序员-Benothing8 小时前
Vim编辑器从入门到精通:模式、快捷键、配置、插件
linux·运维·服务器
m0_646429978 小时前
Docker 完整核心知识点总结(超通俗易懂版)
运维·docker·容器
亚川楼宇自控系统数据中心厂家9 小时前
IBMS 集成管理系统:如何打通楼宇自控实现建筑一体化管控
运维
迪康Defender9 小时前
终端安全审批体系设计:如何平衡安全管控与业务连续性
运维·服务器·安全·运维开发·学习方法·业界资讯·远程工作
luo_guibin10 小时前
Linux系统下OpenSSL升级全流程,新旧版本切换
linux·运维·服务器
71777710 小时前
支持混合云的 DevOps 平台有哪些:主流方案对比与选型指南
运维·devops
看着博客敲代码10 小时前
No space left on device:服务器被 SSH 爆破到日志写满的完整排查与止血
linux·运维·服务器·安全·ssh
编程序的员10 小时前
使用OpenTelemetry来监控Rust应用
运维·rust·monitoring·opentelemetry
实战派K8S&DB11 小时前
TDSQL 核心模块与进程体系
运维·数据库·分布式·sql·mysql
Rooting++11 小时前
用友打包的APP壳子怎么获取SHA1码?
运维·服务器