文章目录
- 一、localhost无法路由
- 1. nacos控制台
- 2. sentinel控制台
- 3. admin控制台
- 二、思路分析
- 2.1. 现象分析
- 2.2. 原因分析
- 2.3. 解决思路
- 三、解决方案(第一种)
- 3.1. 调整路由url
- 3.2. 效果验证
- 四、解决方案解决方案(第二种)
- 4.1. 域名分布
- 4.2. 调整路由为域名
- 4.3. 域名ip映射关系配置
- 4.4. 效果验证
- 4.5. 总结
一、localhost无法路由
1. nacos控制台
点击【系统监控】-【nacos控制台】
自动跳转http://localhost:8848/nacos
2. sentinel控制台
点击【系统监控】-【sentinel控制台】
自动跳转http://localhost:8718/
3. admin控制台
点击【系统监控】-【sentinel控制台】
自动跳转http://localhost:9100/
- 系统接口
二、思路分析
2.1. 现象分析
从上面可以看到,nacos/sentinel控制台的访问跳转页面都写死在了页面中,默认访问localhost,也就是在本地访问没有问题,但是,在其他客户端访问非本地访问,就出现了这个问题,那么,小伙伴是不是想把真正的ip地址写上不就好了,这样只是临时解决方案。当服务器不迁移的前提下是好使的,下面我和小伙伴说一下的我思路。
2.2. 原因分析
首先,菜单路径路由的地址都是存储在ry-cloud数据库的sys_menu表
中,默认ip地址都是localhost
2.3. 解决思路
-
思路1:
微服务之间调用也不是使用真是的ip地址对吧,都是通过nacos注册中心,通过应用名称调用微服务,每个微服务都可以集群部署。 -
思路2:
小伙伴们,应该知道域名吧,域名通过dns解析ip地址,一个域名下会有多个ip,就拿百度来说,有电信、移动、联通三网络区域的ip地址,这样的好处就是,当一个ip宕机不能使用其他的ip仍然可以使用,域名就正常使用对吧! -
进一步思路:
把每个 微服务只要在前端地址写死的都调整为域名形式,然后,在/etc/hosts的文件中配置好域名和ip地址的映射关系就可以就可以解决目前存在的问题,对吧。
三、解决方案(第一种)
3.1. 调整路由url
既然,菜单路径路由的地址都是存储在ry-cloud数据库的sys_menu表
中,默认ip地址都是localhost,调整成真实ip地址
调整前:
调整后:
3.2. 效果验证
- sentinel控制台
- nacos控制台
自动跳转http://192.168.159.105:8848/nacos
- admin控制台
- 系统接口
四、解决方案解决方案(第二种)
4.1. 域名分布
名称 | 域名分布 |
---|---|
Sentinel控制台 | ry.sentinel.com |
Nacos控制台 | ry.ancos.com |
Admin控制台 | ry.admin.com |
4.2. 调整路由为域名
调整前:
调整后:
4.3. 域名ip映射关系配置
- windows 环境
- linux 环境
vim /etc/hosts # 添加内容如下:
192.168.159.105 ry.sentinel.com
192.168.159.105 ry.nacos.com
192.168.159.105 ry.admin.com
4.4. 效果验证
账号 | 免 |
---|---|
sentinel | sentinel |
nacos | nacos |
ruoyi | 123456 |
- sentinel控制台
http://ry.sentinel.com:8718/#/login
-
nacos控制台
-
admin控制台
4.5. 总结
到目前为止,基础功能(文件模块)部署完毕!
还有流控sentinel、分布式事务、以及文件管理模块、日志管理模块尚未部署,待完善!
对于操作手册,待完善!
https://github.com/seata/seata/releases/tag/v1.4.2