CentOS7安装Redis

本文详细介绍了在CentOS 7系统上从源码编译安装Redis 7.2.10的完整流程,涵盖环境准备、解压编译、目录结构创建、配置文件定制、systemd服务配置、用户权限管理、防火墙与安全加固、服务启动验证、性能测试及常用管理命令等内容,适用于生产环境部署。

安装 Redis 7.2.10 的完整步骤

1. 准备工作
# 安装编译依赖
sudo yum install -y gcc gcc-c++ make tcl systemd-devel

# 进入 Redis 目录
cd /usr/local/redis
2. 解压并编译 Redis
# 解压源码包
sudo tar -xzf redis-7.2.10.tar.gz
cd redis-7.2.10

# 编译并指定安装目录
sudo make PREFIX=/usr/local/redis install
3. 创建目录结构
# 回到 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 配置文件
# 复制配置文件
sudo cp ./redis-7.2.10/redis.conf ./etc/

# 修改配置文件
sudo vi ./etc/redis.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 用户和权限
# 创建 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 服务文件
sudo vi /etc/systemd/system/redis.service

添加以下内容:

[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 服务
# 重新加载 systemd
sudo systemctl daemon-reload

# 启动 Redis
sudo systemctl start  redis

# 设置开机自启
sudo systemctl enable redis

# 检查服务状态
sudo systemctl status redis
8. 验证安装
# 测试 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. 创建环境变量(可选)
# 添加到 ~/.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. 防火墙配置(如果需要远程访问)
# 开放 Redis 端口
sudo firewall-cmd --permanent --add-port=6379/tcp
sudo firewall-cmd --reload
11. 安全加固配置
sudo vi /usr/local/redis/etc/redis.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. 目录结构验证
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. 安装验证脚本
#!/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. 性能测试
# 运行基准测试
/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. 管理命令速查
# 启动/停止/重启服务
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. 清理源码文件(可选)
# 如果不需要源码,可以删除
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 目录下。这种目录结构便于管理和维护。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

John_Hui

众筹给作者买杯咖啡提提神。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值