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实现高可用
相关推荐
程序员萌萌42 分钟前
Redis的缓存机制和淘汰策略详解
数据库·redis·缓存机制·淘汰策略
小夏子_riotous2 小时前
openstack的使用——9. 密钥管理服务Barbican
linux·运维·服务器·系统架构·centos·云计算·openstack
深蓝电商API7 小时前
Redis在海淘场景下的缓存策略设计
数据库·redis·缓存·海淘
杰克尼7 小时前
redis(day04-达人探店)
数据库·redis·缓存
二宝哥7 小时前
Failed connect to mirrorlist.centos.org:80; Connection refused
linux·运维·centos
Chasing Aurora9 小时前
整理常用的开发工具使用问题和小贴士(二)——软件和浏览器
redis·python·mysql·maven
停水咋洗澡9 小时前
Redis Sentinel高可用实战:主从自动故障转移
java·redis·sentinel
等....9 小时前
Redis使用
数据库·redis·mybatis
一只小bit9 小时前
Redis 初步入门教程:简单介绍和安装配置
数据库·redis·缓存
架构师老Y11 小时前
012、缓存架构设计:Redis高级应用与优化
redis·python·架构