package agent import ( "nginx-ui/server/models" "nginx-ui/server/nginx" ) var proxyNginx *nginx.Instance func GetInstance(ngx *models.Nginx) *nginx.Instance { var instance = proxyNginx if instance != nil { old := instance.GetNginx() if old.IpAddr != ngx.IpAddr || old.Port != ngx.Port || old.User != ngx.User || old.Password != ngx.Password { instance.Close(false) instance = nil } else { instance.SetNginx(ngx) return instance } } if ngx.IsLocal { instance = nginx.NewInstance(nginx.NewLocalNginx(ngx), ngx) } else { instance = nginx.NewInstance(nginx.NewRemoteInstance(ngx), ngx) } instance.SetNginx(ngx) proxyNginx = instance return instance }