centos7安装Redis6并设置密码实现方式
作者:召田最帅boy
文章介绍了如何从头安装和配置Redis,包括安装依赖、创建用户、配置文件修改、创建Systemd服务、防火墙配置、安全加固建议、常用管理命令等
1. 安装依赖包
sudo yum update -y sudo yum install epel-release -y sudo yum install gcc make tcl -y
2. 下载并编译Redis 6
# 下载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系统用户和目录
# 创建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
# 复制配置文件 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
在配置文件中修改以下内容:
# 绑定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服务文件
sudo vi /etc/systemd/system/redis.service
添加以下内容:
[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服务
# 重新加载systemd sudo systemctl daemon-reload # 启动Redis服务 sudo systemctl start redis # 设置开机自启 sudo systemctl enable redis # 检查服务状态 sudo systemctl status redis
温馨提示:到这一步已经完成安装!
7. 验证安装和密码设置
# 测试连接(会要求输入密码) redis-cli # 在redis-cli中执行: AUTH your_strong_password_here # 或者连接时直接指定密码 redis-cli -a your_strong_password_here # 测试命令 ping # 应该返回 PONG # 查看Redis信息 info
8. 防火墙配置(如果需要远程访问)
# 开放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. 修改默认端口(可选)
# 在redis.conf中修改 port 6380
B. 重命名危险命令
# 在redis.conf中添加 rename-command FLUSHDB "" rename-command FLUSHALL "" rename-command CONFIG "" rename-command SHUTDOWN SHUTDOWN_SAVE
C. 使用SSL/TLS加密(Redis 6支持)
# 生成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. 常用管理命令
# 重启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实现高可用
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
