本地SpringBoot项目连接腾讯云服务器上的Redis,详细步骤和注意问题
连接步骤
1、首先确保服务器的安全组中6379端口号是打开的

这里说明一下,为了方便就把常用端口范围都写进去了(偷懒),也可以单独定义一个6379端口,只要打开了即可
2、还要打开服务器的6379端口,可以通过下列指令来查看自己开启的端口号
-
可以使用命令:
lsof -i:6379查看6379端口的打开情况,如果没信息显示说明没打开
-
也可以通过命令:
netstat -aptn查看全部已开启的端口号情况,有看到 6379 redis-server即可

3、如果没打开6379端口,则通过命令开启: 开启成功会提示 success
firewall-cmd --zone=public --add-port=6379/tcp --permanent
4、配置redis的配置文件
-
找到redis.conf文件并打开
如果不知道在哪,可通过命令查看文件路径:
find / -name redis.conf -
找到里面的bind 127.0.0.1 -::1并把这句话注释掉(在这行 前面 添加 井号#)
-
找到protected-mode yes这句话把这句话改成protected-mode no

5、重启redis服务器就行了
如果是用apt-get或者yum install安装的redis,可以直接通过下面的命令停止/启动/重启redis
/etc/init.d/redis-server stop
/etc/init.d/redis-server start
/etc/init.d/redis-server restart
如果是通过源码安装的redis,则可以通过redis的客户端程序redis-cli的shutdown命令来重启redis
1.redis关闭
redis-cli -h 127.0.0.1 -p 6379 shutdown
redis-cli -h 127.0.0.1 -p 6379 -a password shutdown
如果上述方式都没有成功停止redis,则可以使用终极武器 kill -9
2.redis启动
第一种方式 默认无密码启动方式 ./redis-server 或者 ./redis-server --port 6380
如果设置密码,这种方式启动redis,调用时就会出现异常 Caused by: redis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set
第二种 已设置访问密码启动方式 ./redis-server …/redis.conf
6、接下来就进行springboot中的配置
-
springboot项目中导入redis相关依赖包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> -
修改application.properties配置文件
#redis 相关配置 spring.redis.host=114.132.41.221 spring.redis.port=6379 -
测试,基本就成功了!
【问题】
springboot运行后出现不能连接redis问题:
用其他本地软件(RedisPlus)连接服务器redis,可以正常连接访问,但是程序运行后显示 connot connect xxxx(服务器地址)
【解决】
过程挺艰难的,试遍百度各种解决方案
总结下来就是上面提到的两个点:
在 redis.conf 文件中:
- 将 redis.conf 文件中的 bind 127.0.0.1 -::1这行注释掉
- protected-mode yes 这句话把这句话改成 protected-mode no
至于为什么无效,可能是两个原因之一:
- 没有重启redis服务
- 没有使用修改后的conf配置文件启动redis【关键】

- 运行,完美解决!
浙公网安备 33010602011771号