解决服务项目本地无法访问服务器redis,以及前端联调本地服务问题

前言

我们目前的微服务项目启动大约13个服务,其中12个服务我们在windows服务器上启动。还包括redisnacosseata,但目前就遇到这样的一个问题本地无法访问服务器上的redis,间接导致无法获取登录token,其次就是前端同事联调本地代码,同事无法通过nacos访问到我们本地项目,尽管我们的服务注册到了nacos中。

1.解决无法访问服务器上的redis问题

redis启动部分是认为在Liaux 系统部署,因为这是一个本身就比windows安全系统,所以默认没有密码的,其次就说redis本身就存在保护机制默认只能本地127.0.0.1访问,所以针对这样的问题,直接修改配置文件即可
在这里插入图片描述
上面有两个conf,其中“redis.windows.conf”是可以通过cmd命令窗口启动,在当前窗口启动cmd输入redis-server redis.windows.conf
在这里插入图片描述
第二个redis.windowsservice.conf”,可以直接启动当前目录下的redis-server.exe

知道了这个之后就明白修改哪个配置文件
在这里插入图片描述
**

bind改为0.0.0.0

**
在这里插入图片描述

protectedmode 改成 no

在这里插入图片描述

如果要设置密码可以requirepass 后面接上你的密码即可,注意的是,这些配置必须顶格,不然无法启动redis,会报错无法识别

上述配置我这边简单概述bind原本绑定的就是本机ip,所以只允许本机访问当前的redis,其次protected-mode就说redis的保护机制是否开启redis访问机制,这个跟bind是有关系的,如果bind被注释掉,这个机制也就失效,也就说只有bind存在,这个保护机制可以开启

redis的RDB持久

redis的持久化就是将存的数据写入内存这里RDB通过快照内存中的数据快照方式写入二进制文件中,默认文件名dump.rdb重启redis后,他会去将存在这个文件数据读出来,达到持久话的效果
需要修改配置文件,将配置文件中的appendonly no 改成 appendonly yes
启动后自动生成默认文件
在这里插入图片描述

前端如何联调本地服务

前端访问不到我们本地的服务器根本原因就是我们不在一个局域网中,只需要将我们本地服务的ip+端口穿透下就可以了,这里使用的是ngrok(https://www.ngrok.cc/)
在这里插入图片描述
这个软件需要实名认证的,花了我两块大洋,不过有一个免费穿透地址,还不用过期,这就很舒服,他只有一个免费隧道,再想开另一个端口需要付钱的啦。

在这里插入图片描述
选择最后一个即可
在这里插入图片描述
协议根据自己需求选择隧道名称输入喜欢的,前置域名,就是你自己穿透后的地址,你输入的这块前置加上他们系统加上的后面一坨,组成的地址,本地端口输入自己本地的ip+端口可以 保存提交

回到隧道管理下载他们的客户端,本地直接启动
在这里插入图片描述
在这里插入图片描述
这里需要输入的就是隧道管理你穿透的那一条前面id,回车,然后就穿透成功啦

在这里插入图片描述
nacos上的redis配置记得要改哦,ip改成服务暴露出来的ip就可以了

原文地址:https://blog.csdn.net/weixin_45523123/article/details/128329473

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_25122.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注