CentOS 7 企业级Redis 7部署指南
目录导航
- 一、环境准备
- [1.1 依赖管理](#1.1 依赖管理)
- 二、离线安装
- [2.1 源码编译安装](#2.1 源码编译安装)
- [2.2 目录结构规范](#2.2 目录结构规范)
- 三、生产配置
- [3.1 主配置文件](#3.1 主配置文件)
- [3.2 配置生成脚本](#3.2 配置生成脚本)
- 四、系统集成
- [4.1 Systemd服务文件](#4.1 Systemd服务文件)
- [4.2 服务管理命令](#4.2 服务管理命令)
- 五、安全加固
- [5.1 网络安全配置](#5.1 网络安全配置)
- [5.2 审计配置](#5.2 审计配置)
- 六、性能调优
- [6.1 内存优化配置](#6.1 内存优化配置)
- [6.2 基准测试命令](#6.2 基准测试命令)
- 七、维护指南
- [7.1 监控命令](#7.1 监控命令)
- [7.2 备份策略](#7.2 备份策略)
## 一、环境准备
###1.1 依赖管理安装
依赖包网盘下载:链接:https://drive.uc.cn/s/9021e2417a1e4
bash
# 安装开发工具链
rpm -ivh *.rpm
rpm -Uvh *.rpm --nodeps --force
# 验证GCC版本(需≥4.9)
gcc --version | head -n1

##二、离线安装
###2.1 源码编译安装
bash
# 解压源码包
tar -zxvf redis-7.2.3.tar.gz
cd redis-7.2.3
# 多线程编译优化
make -j $(nproc) BUILD_TLS=yes CFLAGS="-O2 -march=native"
# 验证编译结果(约需5-10分钟)
make test
# 企业级路径安装
sudo make install \
PREFIX=/opt/redis \
SYSTEMD_DIR=/usr/lib/systemd/system \
LOG_DIR=/var/log/redis \
DATA_DIR=/data/redis
###2.2 目录结构规范
bash
/opt/redis/
├── bin/ # 可执行文件(redis-server、redis-cli等)
├── etc/ # 配置文件(redis.conf)
├── var/ # 运行时文件(pidfile等)
└── logs -> /var/log/redis # 日志软链接
/data/redis/ # 持久化数据存储(AOF/RDB文件)
##三、生产配置
###3.1 主配置文件 (redis.conf)
bash
# 网络配置
bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
# 安全配置
requirepass ${REDIS_PASSWORD}
rename-command FLUSHDB ""
rename-command CONFIG ""
# 资源限制
maxclients 10000
maxmemory 16GB
maxmemory-policy allkeys-lru
# 持久化策略
appendonly yes
appendfsync everysec
aof-rewrite-incremental-fsync yes
# 性能优化
io-threads 4
activerehashing yes
###3.2 配置生成脚本
bash
#!/bin/bash
# generate_redis_conf.sh
read -s -p "Enter Redis password: " REDIS_PASSWORD
echo
sed -e "s/\${REDIS_PASSWORD}/$REDIS_PASSWORD/" \
-e "s/^maxmemory .*/maxmemory 16GB/" \
< redis.conf.template > redis.conf
##四、系统集成
###4.1 Systemd服务文件
bash
# /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis In-Memory Data Store
Documentation=https://redis.io/documentation
After=network.target
Conflicts=redis-sentinel.service
[Service]
Type=notify
User=redis
Group=redis
ExecStart=/opt/redis/bin/redis-server /opt/redis/etc/redis.conf
ExecStop=/opt/redis/bin/redis-cli shutdown
Restart=always
RestartSec=30
LimitNOFILE=65535
OOMScoreAdjust=-100
[Install]
WantedBy=multi-user.target
###4.2 服务管理命令
bash
# 创建专用用户
sudo useradd -r -s /sbin/nologin redis
# 设置目录权限
sudo chown -R redis:redis /opt/redis /data/redis
# 重载服务配置
sudo systemctl daemon-reload
sudo systemctl enable --now redis
# 查看服务状态
systemctl status redis
##五、安全加固
###5.1 网络安全配置
bash
# 防火墙设置
sudo firewall-cmd --permanent --add-port=6379/tcp
sudo firewall-cmd --reload
# SELinux策略
sudo semanage port -a -t redis_port_t -p tcp 6379
###5.2 审计配置
properties
# 审计日志配置
audit-log-file /var/log/redis/audit.log
audit-log-syslog-enabled yes
##六、性能调优
###6.1 内存优化配置
bash
# 内存分配策略
jemalloc-bg-thread yes
maxmemory-samples 5
# 连接池优化
timeout 300
tcp-keepalive 60
###6.2 基准测试命令
bash
redis-benchmark \
-h 127.0.0.1 \
-p 6379 \
-a ${REDIS_PASSWORD} \
-c 1000 \
-n 1000000 \
-d 2048 \
-t set,get
##七、维护指南
###7.1 监控命令
bash
# 实时监控(每秒刷新)
redis-cli -a ${REDIS_PASSWORD} --stat
# 内存热点分析
redis-cli -a ${REDIS_PASSWORD} --bigkeys
###7.2 备份策略
bash
# 自动备份脚本(每日凌晨2点)
sudo crontab -e
0 2 * * * /opt/redis/bin/redis-cli -a ${REDIS_PASSWORD} BGSAVE