TABLE OF CONTENTS

  1. 前言
  2. Windows 10
    1. 下载并解压到安装目录
    2. 配置环境变量并注册成服务
    3. 设置密码
    4. 配置远程连接
      1. Redis 绑定 IP 配置
      2. 添加防火墙入站规则
  3. Centos 7
    1. 离线下载安装包
    2. 解压安装
    3. 构建测试并安装
    4. 复制并修改 Redis 配置文件
    5. 添加开机自启
    6. 启动 Redis
    7. 设置 Redis 密码
    8. 远程连接配置
  4. Redis 无法连接问题排查
  5. 参考资料

前言

Redis 是分布式缓存数据库,这篇文章记录下 Windows 10 和 Centos 7 下 Redis 的安装配置。

Windows 10

下载并解压到安装目录

下载 Redis,解压到安装目录

Github 下载地址

配置环境变量并注册成服务

环境变量配置

注册成服务并启动 Redis 服务:

1
2
redis-server --service-install redis.windows-service.conf --loglevel verbose
net start redis

测试客户端功能正常

设置密码

设置临时密码:config set requirepass "admin"后,执行auth admin即可登陆。

配置远程连接

远程连接命令:redis-cli -h IP地址 -p 端口号 -a 密码,默认 ip 地址为 127.0.0.1,默认端口为 6379。

当然要进行远程访问,需要进行下面 2 个配置。

Redis 绑定 IP 配置

Redis 配置文件默认绑定本地 IP,只能从本地发起连接,如果想要让远程服务发起连接,可以将下面的bind 127.0.0.1一行注释掉,或者添加需要访问 redis 缓存的服务器地址。

添加防火墙入站规则

Centos 7

离线下载安装包

查找需要安装的 Redis 版本:http://download.redis.io/releases/,我选择了 7.0.8 版本。

1
2
cd /export/download
wget http://download.redis.io/releases/redis-7.0.8.tar.gz

解压安装

1
tar -zvxf redis-7.0.8.tar.gz

构建测试并安装

执行 make 进行构建时,如果提示缺少什么依赖就下载更新什么依赖即可。可以通过 yum 命令下载安装。

1
2
3
4
5
cd redis
sudo make
# 下面执行测试,时间较长
sudo make test
sudo make install PREFIX=/usr/local/redis

复制并修改 Redis 配置文件

1
2
mkdir /usr/local/redis/etc
cp /export/download/redis/redis.conf /usr/local/redis/etc

修改 Redis 配置通常有 2 种方式,一种是在 redis-cli 客户端种进行,这种默认是直接生效的,如果修改的配置文件,需要重启 Redis 使修改生效。

编辑 redis.conf 配置文件,修改 daemonize 为 yes,设置为后台启动。

1
daemonize yes

可以通过config get protected-mode命令获取该参数的配置,protected-mode 默认为 yes,表示 Redis 仅允许本地连接或者通过密码验证的连接访问,一般设置为 yes。

添加开机自启

在 / etc/rc.local 中追加开机自启,需要 sudo 权限。

1
2
vi /etc/rc.local
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

启动 Redis

复制 redis-cli,redis-server 到 / usr/local/bin / 目录下,类似 Windows 的环境变量配置,允许 redis 命令在其他目录下直接使用。

1
2
3
cp /usr/local/redis/bin/redis-server /usr/local/bin/
cp /usr/local/redis/bin/redis-cli /usr/local/bin/
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

设置 Redis 密码

设置完密码后和 Windows 一样进行 Redis 连接即可。

1
config set requirepass <密码>

远程连接配置

主要涉及防火墙配置,以及 Redis 配置文件修改 bind ip,修改完成后重启即可。Centos 防火墙配置为 firewall-cmd

1
2
3
4
5
6
7
8
# 防火墙配置
sudo firewall-cmd --add-port=6379/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

# 重启Redis服务
pkill redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

Redis 无法连接问题排查

1、检查 Redis 服务是否启动

1
2
# 执行下面命令返回PONG则已启动
redis-cli -h 192.168.2.99 -p 6379 ping

2、防火墙问题

检查防火墙规则,是否允许通过 tcp 协议访问 Redis 的 6379 端口,正常通过 telnet 可以连接该

如果防火墙使用的是 iptables,执行下面的命令允许访问 redis 端口。

1
2
3
4
sudo iptables -L
sudo iptables -A INPUT -p tcp --dport 6379 -j ACCEPT
# Centso
sudo service iptables save

如果使用的是 firewalld,执行下面的命令允许访问 redis 端口。

1
2
3
4
# 查看防火墙规则
sudo firewall-cmd --list-ports
sudo firewall-cmd --add-port=6379/tcp --permanent
sudo firewall-cmd --reload

如果防火墙没有启动,执行下面命令启动防火墙

1
2
sudo systemctl enable firewalld
sudo systemctl start firewalld

配置成功后可以通过 telnet 命令验证是否可以正常连接

1
telnet <Windows_IP> 6379

3、Redis 服务器配置的 IP 和端口是否正确

确认 bind 和 port 配置,看是否在白名单中,又或者允许所有 ip 访问。

1
2
bind 192.168.2.99
port 6379

参考资料

[Windows-Redis 安装与配置
Windows Redis msi 方式安装

声明:本站所有文章均为原创或翻译,遵循署名 - 非商业性使用 - 禁止演绎 4.0 国际许可协议,如需转载请确保您对该协议有足够了解,并附上作者名 (Tsukasa) 及原文地址