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) 及原文地址