centos7安装Redis6并设置密码

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

注意事项:

  1. your_strong_password_here 替换为强密码
  2. 生产环境建议绑定特定IP而不是0.0.0.0
  3. 定期备份Redis数据
  4. 监控Redis内存使用情况
  5. 考虑使用Redis Sentinel或Cluster实现高可用
相关推荐
流星白龙9 小时前
【Redis】2.Redis重大版本
数据库·redis·junit
流星白龙9 小时前
【Redis】7.Hash表
数据库·redis·哈希算法
流星白龙10 小时前
【Redis】4.基本全局命令
数据库·redis·缓存
流星白龙13 小时前
【Redis】3.Redis安装与命令行客户端
数据库·redis·缓存
Season45017 小时前
Redis命令 (generic即通用命令)
数据库·redis·bootstrap
我不想名字重复19 小时前
redis缓存和数据库数据保持一致
数据库·redis·缓存
流星白龙21 小时前
【Redis】6.计数其他命令
数据库·redis·缓存
流星白龙21 小时前
【Redis】8.List列表
redis
NWU_白杨21 小时前
三种常用的数据存储技术
数据库·redis·mysql·sqlite
我叫黑大帅21 小时前
我为什么单一消费者的场景下,要用 Redis List 当消息队列?
redis·后端·面试