1. 安装依赖包
bash
sudo yum update -y
sudo yum install epel-release -y
sudo yum install gcc make tcl -y
2. 下载并编译Redis 6
bash
# 下载Redis 6.2.x(以6.2.13为例)
cd /usr/local/src
sudo wget https://download.redis.io/releases/redis-6.2.13.tar.gz
sudo tar xzf redis-6.2.13.tar.gz
cd redis-6.2.13
# 编译安装
sudo make
sudo make install
3. 创建Redis系统用户和目录
bash
# 创建Redis用户
sudo groupadd redis
sudo useradd -r -g redis -s /bin/false redis
# 创建目录
sudo mkdir -p /etc/redis
sudo mkdir -p /var/lib/redis
sudo mkdir -p /var/log/redis
sudo mkdir -p /var/run/redis
# 设置权限
sudo chown -R redis:redis /var/lib/redis
sudo chown -R redis:redis /var/log/redis
sudo chown -R redis:redis /var/run/redis
4. 配置Redis
bash
# 复制配置文件
sudo cp redis.conf /etc/redis/redis.conf
# 备份原始配置
sudo cp /etc/redis/redis.conf /etc/redis/redis.conf.bak
# 编辑配置文件
sudo vi /etc/redis/redis.conf
在配置文件中修改以下内容:
ini
# 绑定IP(0.0.0.0表示允许所有IP访问,生产环境建议指定IP)
bind 0.0.0.0
# 端口
port 6379
# 设置密码(重要!取消注释并设置你的密码)
requirepass your_strong_password_here
# 以守护进程方式运行
daemonize yes
# 数据目录
dir /var/lib/redis
# 日志文件
logfile /var/log/redis/redis.log
# 最大内存
maxmemory 256mb
maxmemory-policy allkeys-lru
# 开启AOF持久化
appendonly yes
appendfilename "appendonly.aof"
# 保护模式(如果设置了密码和bind,可以关闭)
protected-mode no
# 设置进程文件
pidfile /var/run/redis/redis.pid
5. 创建Systemd服务文件
bash
sudo vi /etc/systemd/system/redis.service
添加以下内容:
ini
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
Type=forking
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
LimitNOFILE=10032
[Install]
WantedBy=multi-user.target
6. 启动Redis服务
bash
# 重新加载systemd
sudo systemctl daemon-reload
# 启动Redis服务
sudo systemctl start redis
# 设置开机自启
sudo systemctl enable redis
# 检查服务状态
sudo systemctl status redis
温馨提示:到这一步已经完成安装!
7. 验证安装和密码设置
bash
# 测试连接(会要求输入密码)
redis-cli
# 在redis-cli中执行:
AUTH your_strong_password_here
# 或者连接时直接指定密码
redis-cli -a your_strong_password_here
# 测试命令
ping
# 应该返回 PONG
# 查看Redis信息
info
8. 防火墙配置(如果需要远程访问)
bash
# 开放Redis端口
sudo firewall-cmd --permanent --add-port=6379/tcp
sudo firewall-cmd --reload
# 或者仅允许特定IP访问
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="your_ip_here" port protocol="tcp" port="6379" accept'
sudo firewall-cmd --reload
9. 安全加固建议
A. 修改默认端口(可选)
ini
# 在redis.conf中修改
port 6380
B. 重命名危险命令
ini
# 在redis.conf中添加
rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command SHUTDOWN SHUTDOWN_SAVE
C. 使用SSL/TLS加密(Redis 6支持)
bash
# 生成SSL证书
cd /etc/redis
sudo openssl genrsa -out redis.key 2048
sudo openssl req -new -key redis.key -out redis.csr
sudo openssl x509 -req -days 365 -in redis.csr -signkey redis.key -out redis.crt
# 在redis.conf中配置
tls-port 6380
tls-cert-file /etc/redis/redis.crt
tls-key-file /etc/redis/redis.key
10. 常用管理命令
bash
# 重启Redis
sudo systemctl restart redis
# 查看日志
sudo tail -f /var/log/redis/redis.log
# 停止Redis
sudo systemctl stop redis
# 查看Redis进程
ps aux | grep redis
# 测试性能
redis-benchmark -a your_password -q
注意事项:
- 将
your_strong_password_here替换为强密码 - 生产环境建议绑定特定IP而不是0.0.0.0
- 定期备份Redis数据
- 监控Redis内存使用情况
- 考虑使用Redis Sentinel或Cluster实现高可用