apollo 站点部署&C#接入

下载Apollo

https://www.apolloconfig.com/#/zh/deployment/quick-start

安装文档操作步骤来

先安装Java环境 https://www.java.com/zh-CN/

安装成功 验证 安装成功会有版本信息

bash 复制代码
java -version

MySQL

如果使用 H2 内存数据库/H2 文件数据库,则无需 MySQL,可以跳过此步骤

https://dev.mysql.com/downloads/mysql/

安装mysql

安装好后 测试是否可以连接

找到apollo 的这个两个文件 执行这个两个sql

注意事项

apollo 服务端进程需要分别使用8070, 8080, 8090端口,请确保这3个端口当前没有被使用。

安装NSSM(Non-Sucking Service Manager)把 java 注册成系统服务,支持崩溃自动重启、开机自启:

注册 Apollo 为 Windows 服务

bash 复制代码
安装地址\nssm.exe install Apollo

在弹出的窗口里填写:

bash 复制代码
#查看java地址
where.exe java

下载Quick Start安装包

https://github.com/apolloconfig/apollo-quick-start

下载好的文档 解压 放入指定的路径

注意 NSSM 要加 .\ 前缀(你现在在 nssm 的 win64 目录里):

bash 复制代码
cd "xxxx\nssm.exe install Apollo

Path:你实际的 java 路径\bin\java.ex

Startup directory:apollo jar 所在目录 如:D:\Program Files (x86)\apollo

Arguments:填入以下一整串(一行):

bash 复制代码
cd "D:\Program Files (x86)\nssm-2.24-101-g897c7ad\win64"
.\nssm.exe install Apollo "C:\你的java路径\java.exe" '-Dspring.profiles.active=github,database-discovery,auth -Dspring.h2.console.enabled=false "-Dspring.config.datasource.url=jdbc:mysql://localhost:3306/ApolloConfigDB?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai" "-Dspring.config.datasource.username=root" "-Dspring.config.datasource.password=你的密码" "-Dspring.portal.datasource.url=jdbc:mysql://localhost:3306/ApolloPortalDB?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai" "-Dspring.portal.datasource.username=root" "-Dspring.portal.datasource.password=你的密码" -jar D:\apollo\apollo-all-in-one.jar'
.\nssm.exe set Apollo AppDirectory D:\apollo
.\nssm.exe set Apollo AppStdout D:\apollo\apollo.log
.\nssm.exe set Apollo AppStderr D:\apollo\apollo.log
Start-Service Apollo
Start-Sleep 60
Get-Service Apollo

浏览器访问 http://localhost:8070,apollo / admin 登录。想确认数据确实在 MySQL 里:

bash 复制代码
& "mysql安装地址\bin\mysql.exe" -uroot -p -e "USE ApolloPortalDB; SELECT username FROM Users;"

创建

**

创建c# 项目 net10

**

安装Com.Ctrip.Framework.Apollo.Configuration

Program.cs

bash 复制代码
using Com.Ctrip.Framework.Apollo;
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
//添加apollo
builder.Configuration.AddApollo(
    builder.Configuration.GetSection("apollo"));
builder.Services.AddControllers();
// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
builder.Services.AddOpenApi();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.MapOpenApi();
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();



app.Run();

WeatherForecastController

bash 复制代码
using Microsoft.AspNetCore.Mvc;

namespace WebApplication1.Controllers
{
    [ApiController]
    [Route("[controller]")]
    #[Route("api/[controller]")]
    public class WeatherForecastController : ControllerBase
    {
        private readonly IConfiguration _config;

        public WeatherForecastController(IConfiguration config)
        {
            _config = config;
        }
        private static readonly string[] Summaries =
        [
            "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
        ];

        //[HttpGet(Name = "GetWeatherForecast")]// GetWeatherForecast
        [HttpGet("GetWeatherForecast")]// WeatherForecast/GetWeatherForecast
        public IEnumerable<WeatherForecast> Get()
        {
            var AIConfigjson = _config.GetValue<string>("AIConfig");
            var IsShare = _config.GetValue<bool>("IsShare");
            return Enumerable.Range(1, 5).Select(index => new WeatherForecast
            {
                Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
                TemperatureC = Random.Shared.Next(-20, 55),
                Summary = Summaries[Random.Shared.Next(Summaries.Length)]
            })
            .ToArray();
        }
    }
}
相关推荐
晗夜未央2 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
熊猫钓鱼>_>2 小时前
四种书签,一条时间线:一个读书 App 的记忆颗粒与它的边界案例【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙pc
努力努力再努力wz2 小时前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua
飞浪纪元[FWC–FE]3 小时前
从零到一键绿:Qt 5.14.2 + VS2019 开发环境搭建、Kit 套件配置与构建错误修复完全手册
开发语言·qt
Wang's Blog3 小时前
Java 项目实战:交友项目 - 联系人列表
java·开发语言·交友
我命由我123453 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
架构师伯子明3 小时前
FFmpeg C++学习(一):编译和demo
开发语言·c++·学习
海域云SeaArea_3 小时前
Windows Server 2008 R2 从零安装 IIS7.5(二):php.ini 配置
开发语言·windows·php
叼烟扛炮3 小时前
[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战
服务器·开发语言·网络·笔记·学习·langchain