项目场景:
云服务器启动redis,项目使用连接工具、Java代码连接redis-server遇到的问题
问题描述:
1、redis.conf里的bind绑定云服务器外网ip是启动不了的
2、redis.conf里的bind绑定云服务器内网ip可以启动,但是远程工具连接不上
3、redis.conf里的bind绑定0.0.0.0,也可以启动,但是远程工具连接不上
4、redis.conf里的bind绑定0.0.0.0,protected-mode也改为no了,但此时用java的rediscluster代码会报错No more cluster attempts left
原因分析:
1、对于第1、2、3点,我们去redis.conf的文件就知道了
# 不要绑定内网或者外网ip
bind 0.0.0.0
# 默认是yes的,而且注释打开的,代表redis启动后收到保护,不允许远程连接
# protected-mode yes
# 我们就设置成no即可
protected-mode no
2、对于第4点,因为我们用三步走命令时,应该用外网ip(我的是云服务器)+端口把他们整合(我第一次时用的0.0.0.0,所以一直报第4点错误)
/home/gary/redis/redis-6.0.14/src/redis-cli --cluster create 外网ip:7000 外网ip:7001 外网ip:7002 外网ip:7003 外网ip:7004 外网ip:7005 --cluster-replicas 1
解决方案:
1、redis.conf文件里的bind、protected-mode改一下即可
# 不要绑定内网或者外网ip
bind 0.0.0.0
# 默认是yes的,而且注释打开的,代表redis启动后收到保护,不允许远程连接
# protected-mode yes
# 我们就设置成no即可
protected-mode no
2、第四点的问题,就是执行三步走命令时,注意使用外网ip即可
测试连接,用远程工具或者Java代码测试,这里用远程工具