好的。详解CentOS 7.4下如何部署Asp.Net Core结合consul的完整攻略,可以分为以下几个步骤:
1. 安装和配置consul
1.1. 下载consul可执行文件,可在consul的官网下载http://www.consul.io/。
wget https://releases.hashicorp.com/consul/1.9.1/consul_1.9.1_linux_amd64.zip
1.2. 解压并将consul文件复制到/bin目录中。
unzip consul_1.9.1_linux_amd64.zip
sudo cp consul /bin
1.3. 启动consul服务
consul agent -dev -client=0.0.0.0
2. 安装和配置Asp.Net Core
2.1. 安装.NET Core SDK
sudo yum install centos-release-dotnet
sudo yum install rh-dotnet21 -y
scl enable rh-dotnet21 bash
2.2. 创建Asp.Net Core项目
dotnet new webapi -n AspNetCoreWebApplication -o /opt/AspNetCoreWebApplication
2.3. 运行Asp.Net Core项目
cd /opt/AspNetCoreWebApplication
dotnet run
3. 部署Asp.Net Core和consul结合
3.1. 安装Consul.AspNetCore NuGet包
dotnet add package Consul.AspNetCore
3.2. 在Startup.cs的ConfigureServices方法中添加consul配置
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddSingleton<IConsulClient, ConsulClient>(p => new ConsulClient(consulConfig =>
{
consulConfig.Address = new Uri("http://localhost:8500");
}));
services.AddConsulConfig(Configuration.GetSection("consulConfig"));
}
3.3. 在Startup.cs的Configure方法中添加consul启动
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
var consulClient = app.ApplicationServices.GetRequiredService<IConsulClient>();
var serviceConfig = new AgentServiceRegistration()
{
ID = Guid.NewGuid().ToString(),
Name = "AspNetCoreWebApplication",
Address = "localhost",
Port = 5000,
Tags=new[] { "AspNetCoreWebApplication" }
};
var result = consulClient.Agent.ServiceRegister(serviceConfig).Result;
Console.WriteLine("注册服务:" + result.StatusCode);
}
以上就是CentOS 7.4下如何部署Asp.Net Core结合consul的完整攻略。下面有两个例子。
示例1: 查看consul是否正常启动
systemctl status consul
可以查看到consul状态。
示例2: 查看Asp.Net Core是否正常部署
打开浏览器,输入http://服务器IP:5000/api/values
,可以看到Asp.Net Core项目的API接口返回结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解CentOS 7.4下如何部署Asp.Net Core结合consul - Python技术站