CentOS7安装Redis
-
-
- [安装 Redis 7.2.10 的完整步骤](#安装 Redis 7.2.10 的完整步骤)
-
- [1. 准备工作](#1. 准备工作)
- [2. 解压并编译 Redis](#2. 解压并编译 Redis)
- [3. 创建目录结构](#3. 创建目录结构)
- [4. 复制和配置 Redis 配置文件](#4. 复制和配置 Redis 配置文件)
- [5. 创建 Redis 用户和权限](#5. 创建 Redis 用户和权限)
- [6. 创建 Systemd 服务文件](#6. 创建 Systemd 服务文件)
- [7. 启动 Redis 服务](#7. 启动 Redis 服务)
- [8. 验证安装](#8. 验证安装)
- [9. 创建环境变量(可选)](#9. 创建环境变量(可选))
- [10. 防火墙配置(如果需要远程访问)](#10. 防火墙配置(如果需要远程访问))
- [11. 安全加固配置](#11. 安全加固配置)
- [12. 目录结构验证](#12. 目录结构验证)
- [13. 安装验证脚本](#13. 安装验证脚本)
- [14. 性能测试](#14. 性能测试)
- [15. 管理命令速查](#15. 管理命令速查)
- [16. 清理源码文件(可选)](#16. 清理源码文件(可选))
-
安装 Redis 7.2.10 的完整步骤
1. 准备工作
bash
# 安装编译依赖
sudo yum install -y gcc gcc-c++ make tcl systemd-devel
# 进入 Redis 目录
cd /usr/local/redis
2. 解压并编译 Redis
bash
# 解压源码包
sudo tar -xzf redis-7.2.10.tar.gz
cd redis-7.2.10
# 编译并指定安装目录
sudo make PREFIX=/usr/local/redis install
3. 创建目录结构
bash
# 回到 Redis 根目录
cd /usr/local/redis
# 创建必要的目录
sudo mkdir -p bin etc data logs run
# 移动可执行文件到 bin 目录
sudo mv ./redis-7.2.10/src/redis-server ./bin/
sudo mv ./redis-7.2.10/src/redis-cli ./bin/
sudo mv ./redis-7.2.10/src/redis-benchmark ./bin/
sudo mv ./redis-7.2.10/src/redis-check-rdb ./bin/
sudo mv ./redis-7.2.10/src/redis-check-aof ./bin/
sudo mv ./redis-7.2.10/src/redis-sentinel ./bin/
4. 复制和配置 Redis 配置文件
bash
# 复制配置文件
sudo cp ./redis-7.2.10/redis.conf ./etc/
# 修改配置文件
sudo vi ./etc/redis.conf
关键配置修改:
conf
# 守护进程模式
daemonize yes
# 绑定地址(允许所有IP连接)
bind 0.0.0.0
# 保护模式
protected-mode yes
# 端口
port 6379
# 工作目录(数据文件位置)
dir /usr/local/redis/data
# 日志文件
logfile "/usr/local/redis/logs/redis.log"
# 进程ID文件
pidfile "/usr/local/redis/run/redis.pid"
# 最大内存(根据需求调整)
maxmemory 1gb
# 内存淘汰策略
maxmemory-policy allkeys-lru
# 开启AOF持久化
appendonly yes
appendfilename "appendonly.aof"
# AOF重写配置
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
# 认证密码(可选)
# requirepass YourStrongPassword123!
# 现代配置(Redis 7.x 新特性)
enable-debug-command no
enable-module-command no
# RDB配置
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
# 性能优化
io-threads 4
io-threads-do-reads yes
5. 创建 Redis 用户和权限
bash
# 创建 Redis 用户
sudo groupadd -r redis
sudo useradd -r -g redis -s /bin/false redis
# 设置目录权限
sudo chown -R redis:redis /usr/local/redis
sudo chmod 755 /usr/local/redis/bin/*
sudo chmod 755 /usr/local/redis/etc/
sudo chmod 755 /usr/local/redis/data/
sudo chmod 755 /usr/local/redis/logs/
sudo chmod 755 /usr/local/redis/run/
6. 创建 Systemd 服务文件
bash
sudo vi /etc/systemd/system/redis.service
添加以下内容:
ini
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecReload=/bin/kill -USR2 $MAINPID
TimeoutStopSec=0
Restart=always
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
# 安全设置
NoNewPrivileges=yes
PrivateTmp=yes
ProtectSystem=strict
ProtectHome=yes
ReadWritePaths=/usr/local/redis/data /usr/local/redis/logs /usr/local/redis/run
[Install]
WantedBy=multi-user.target
7. 启动 Redis 服务
bash
# 重新加载 systemd
sudo systemctl daemon-reload
# 启动 Redis
sudo systemctl start redis
# 设置开机自启
sudo systemctl enable redis
# 检查服务状态
sudo systemctl status redis
8. 验证安装
bash
# 测试 Redis 连接
/usr/local/redis/bin/redis-cli ping
# 应该返回: PONG
# 查看 Redis 信息
/usr/local/redis/bin/redis-cli info server
# 测试基本操作
/usr/local/redis/bin/redis-cli set test "Redis 7.2.10 installed successfully"
/usr/local/redis/bin/redis-cli get test
/usr/local/redis/bin/redis-cli del test
# 检查版本
/usr/local/redis/bin/redis-cli info | grep redis_version
9. 创建环境变量(可选)
bash
# 添加到 ~/.bashrc 或 /etc/profile
echo 'export PATH=$PATH:/usr/local/redis/bin' | sudo tee -a /etc/profile
source /etc/profile
# 现在可以直接使用 redis-cli 命令
redis-cli ping
10. 防火墙配置(如果需要远程访问)
bash
# 开放 Redis 端口
sudo firewall-cmd --permanent --add-port=6379/tcp
sudo firewall-cmd --reload
11. 安全加固配置
bash
sudo vi /usr/local/redis/etc/redis.conf
添加安全配置:
conf
# 认证密码(取消注释并设置强密码)
requirepass YourStrongPassword123!
# 重命名危险命令
rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command SHUTDOWN ""
# 限制客户端数量
maxclients 10000
# 连接超时
timeout 300
# 慢查询日志
slowlog-log-slower-than 10000
slowlog-max-len 128
12. 目录结构验证
bash
tree /usr/local/redis -L 2
预期目录结构:
/usr/local/redis/
├── bin/
│ ├── redis-server
│ ├── redis-cli
│ ├── redis-benchmark
│ ├── redis-check-rdb
│ ├── redis-check-aof
│ └── redis-sentinel
├── etc/
│ └── redis.conf
├── data/
│ ├── dump.rdb
│ └── appendonly.aof
├── logs/
│ └── redis.log
├── run/
│ └── redis.pid
└── redis-7.2.10/
└── (源码文件)
13. 安装验证脚本
bash
#!/bin/bash
echo "=== Redis 7.2.10 安装验证 ==="
echo "1. 检查服务状态:"
sudo systemctl status redis --no-pager -l
echo -e "\n2. 检查进程:"
ps -ef | grep redis | grep -v grep
echo -e "\n3. 测试连接:"
/usr/local/redis/bin/redis-cli ping
echo -e "\n4. 检查版本:"
/usr/local/redis/bin/redis-cli info | grep redis_version
echo -e "\n5. 检查端口:"
netstat -tulnp | grep 6379
echo -e "\n6. 检查目录结构:"
ls -la /usr/local/redis/bin/
ls -la /usr/local/redis/data/
ls -la /usr/local/redis/logs/
echo -e "\n7. 检查日志:"
sudo tail -5 /usr/local/redis/logs/redis.log
14. 性能测试
bash
# 运行基准测试
/usr/local/redis/bin/redis-benchmark -q -n 1000 -c 10
# 测试持久化
/usr/local/redis/bin/redis-cli save
ls -la /usr/local/redis/data/
15. 管理命令速查
bash
# 启动/停止/重启服务
sudo systemctl start redis
sudo systemctl stop redis
sudo systemctl restart redis
sudo systemctl reload redis
# 查看日志
sudo tail -f /usr/local/redis/logs/redis.log
# 进入 Redis CLI(带密码)
/usr/local/redis/bin/redis-cli -a YourStrongPassword123!
# 监控性能
/usr/local/redis/bin/redis-cli info memory
/usr/local/redis/bin/redis-cli info stats
/usr/local/redis/bin/redis-cli info replication
# 备份数据
/usr/local/redis/bin/redis-cli save
sudo cp /usr/local/redis/data/dump.rdb /backup/
16. 清理源码文件(可选)
bash
# 如果不需要源码,可以删除
sudo rm -rf /usr/local/redis/redis-7.2.10
sudo rm -rf /usr/local/redis/redis-7.2.10.tar.gz
通过以上步骤,您已成功安装 Redis 7.2.10,并按照要求将所有文件组织在 /usr/local/redis 目录下。这种目录结构便于管理和维护。