- 用于单体应用+Nginx+Nacos整合、微服务网关与Nginx整合,动态刷新Nacos的健康服务到Nginx中
- nginx配置文件
nginx.conf先加入一个upstream(ip随意配置一个服务都行,第一次监听nacos就会替换掉),项目已经提供一个简单的配置文件例子- 启动Nginx
- 启动nacos,将服务注册到nacos上
nacosCof := util.NacosConf{
//nacos地址
IpAddr: "192.168.50.75",
Port: 8848,
//nacos路径
ContextPath: "/nacos",
//nacos的NamespaceId
NamespaceId: "3146d3eb-2422-4439-a063-a9a0df197c5e",
//监听注册到nacos的服务名称
ListenerService: "demo",
//nacos的分组名称
Group: "GZ",
}
nginxRefreshCof := util.NginxRefreshConf{
#安装nginx的根目录
NginxPath: "/usr/local/nginx",
NacosConf: nacosCof,
}运行
main.go或者 build到相应的平台运行
1:目前只针对Nginx单个upstream的情况处理
2:目前只针对Nacos指定的服务进行刷新(特定的服务)
3:极端频繁刷新Nginx配置的情况,还没使用缓存方式减少IO操作
4:仅支持windows和linux
5:当所有服务都down掉,不会再刷新Nginx配置