我们系统服务(system、auth、flowable等)是其他项目组维护,他们把jar包丢到中央仓库,我们就需要从仓库拉取最新jar包在自己本机服务器上面运行,调用他们的服务,来测试自己的本地服务
以下所有数据都已特殊处理,均不涉及公司机密!
环境:
本地:
- idea2023.3
虚拟机:
- centos7.9.2009
- nacos1.3.1
本地调用虚拟机服务要确保的是:
- 虚拟机服务端口是开放的并且被防火墙阻挡
- 虚拟机和本地都在同一网段下
1.判断虚拟机端口是否开启
iptables -vnL
如果没有将虚拟机端口开放的话,本地服务是访问不到虚拟机服务的
18004即是我需要调的flow服务
开放虚拟机端口
vim /etc/sysconfig/iptables
移到最下面看到箭头所标注的位置,在后面加上自己服务端口即可开放
添加完之后保存退出,注意要重新读取一下配置,才能生效
iptables-restore < /etc/sysconfig/iptables
附带防火墙的命令:
查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
开启防火墙 service firewalld start
禁止开机启动防火墙 systemctl disable firewalld.service
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service
2. 虚拟机和本地是否在同一网段下
因为我们nacos的环境是在虚拟机里,我们要调用flowable服务,就得先看flowable服务在哪个网段,上nacos查看
发现flow的ip在222网段,我们就也需要将我们的本地服务注册到222网段下
首先配置本地服务注册到虚拟机nacos
在IDE里面设置Java启动参数:
--spring.cloud.nacos.discovery.server-addr=http://127.0.222.3:8848
--spring.cloud.nacos.config.server-addr=http://127.0.222.3:8848
--spring.cloud.inetutils.preferred-networks=127.0.222
第三行即是设置指定ip
在服务器supervisord配置文件中配置
我们启动文件使用的是supervisorctl 命令
vim 你要调用的服务配置
添加上参数:
--spring.cloud.inetutils.preferred-networks=127.0 ;
都配置完之后我们再上nacos看
可以看到我们本地的服务已经成功注册上虚拟机的nacos了并且跟flow服务在同一个网段,222.1是本地服务,另外一个是虚拟机服务,可以把虚拟机服务下线,就只会用到本地的服务了
本地调试:
这个接口里面调用了flow接口,返回200说明从本地掉虚拟机flow服务已经通了~