AgileConfig:分布式配置中心
github:GitHub - dotnetcore/AgileConfig: 基于.NET Core开发的轻量级分布式配置中心 / .NET Core lightweight configuration server
下载部署包:Releases · dotnetcore/AgileConfig · GitHub
版本:
Window11
AgileConfig 1.9
解压缩目录结构:
修改 appsettings.json:
修改adminConsole节点为true
修改db.provider 为 mysql --修改数据库类型
修改db.conn 为 "Host=127.0.0.1;Database=agileconfig;Username=root;Password=123456" --修改数据库连接串
修改JwtSetting.SecurityKey 为 dfasf343453fsdfa,./,./sdfasf34r3hfhfdb
{
"urls": "http://*:5000",
"Logging": {
"LogLevel": {
"Default": "Information",
"System": "Warning",
"Microsoft": "Warning"
}
},
"alwaysTrustSsl": true, // If true, the server will ignore SSL errors.
"serviceHealthCheckInterval": 15, // 服务健康检测的间隔时间,单位:秒
"serviceUnhealthInterval": 60, // 判断服务不健康的间隔,超出这个时间没响应过则认为不健康,默认60,单位:秒
"removeServiceInterval": 0, // 如果一个服务超出这个时间没有响应,则直接移除这个服务,单位:秒;如果设定为 <= 0,则不会移除,默认 0 。
"pathBase": "", //使用反向代理的时候,或许需要修改这个值 /xxx 必须/开头
"adminConsole": true,
"cluster": false, // 集群模式:服务启动后自动加入节点列表,服务启动的时候会获取容器的ip,端口默认5000,适合 docker compose 环境使用
"preview_mode": false,
"db": {
"provider": "mysql", //sqlite,mysql,sqlserver,npgsql,oracle,mongodb
"conn": "Host=127.0.0.1;Database=agileconfig;Username=root;Password=123456",
"env": {
"TEST": {
"provider": "", //sqlite,mysql,sqlserver,npgsql,oracle
"conn": ""
},
"STAGING": {
"provider": "", //sqlite,mysql,sqlserver,npgsql,oracle
"conn": ""
},
"PROD": {
"provider": "", //sqlite,mysql,sqlserver,npgsql,oracle
"conn": ""
}
}
},
"JwtSetting": {
"SecurityKey": "dfasf343453fsdfa,./,./sdfasf34r3hfhfdb", // 密钥 可以直接在这里配置 jwt 的密钥,或者通过环境变量 JwtSetting:SecurityKey 配置,如果不配置,则系统在启动的时候自动生成一个 key,存在数据库里,如 dfasf343453fsdfa,./,./sdfasf34r3hfhfdb
"Issuer": "agileconfig.admin", // 颁发者
"Audience": "agileconfig.admin", // 接收者
"ExpireSeconds": 86400 // 过期时间
},
"SSO": {
"enabled": false, // 是否启用 SSO
"loginButtonText": "", // 自定义 SSO 跳转按钮的文字
"OIDC": {
"clientId": "", // 应用程序ID
"clientSecret": "", // 应用程序密钥
"redirectUri": "", //OIDC Server 授权成功后的回调地址
"tokenEndpoint": "", // Token Endpoint, code换取token的地址
"tokenEndpointAuthMethod": "client_secret_post", //获取token的接口的认证方案:client_secret_post, client_secret_basic, none. default=client_secret_post.
"authorizationEndpoint": "", // OIDC Server 授权地址
"userIdClaim": "sub", // id token 中用户ID的 Claim key
"userNameClaim": "name", // id token 用户名的Claim key
"scope": "openid profile" // 请求的scope
}
}
}
dotnet运行:
dotnet AgileConfig.Server.Apisite.dll
http://localhost:5000/ --打开UI
设置初始化账号密码登录即可
IIS部署问题:
删除 hostingModel="InProcess" ,再重启iis