文章目录
- 二、思路分析
一、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 环境
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
本文摘自 :https://blog.51cto.com/g