详解CentOS 7.4下如何部署Asp.Net Core结合consul

好的。详解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技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • Linux Shell 之 while 循环语句

      while命令某种意义上是if-then语句和for循环的混杂体。while命令允许定义一个要测试的命令,然后循环执行一组命令,只要定义的测试命令返回的是退出状态码0。它会在每次迭代的一开始测试test命令。在test命令返回非零退出状态码时,while命令会停止执行那组命令。 1.1、while 的基本格式   while命令的格式是: 1 while…

    Linux 2023年4月11日
    00
  • linux 运维,代理,acl控制访问

    运维概述:运行 & 维护,Operation & MaintanceIT运维、业务运维、日常管理运维采用相关的方法、手段、技术、制度、流程和文档等,对IT运行环境、IT业务系统和IT运维人员进行的综合管理。 传统运维技术特点:单一化:业务及服务单一简单化:部署的服务与架构相对简单被动化:出现问题后,救火式的管理 linux运维最佳实践集中化自…

    Linux 2023年4月12日
    00
  • 在CentOS上安装搭建PHP+Apache+Mysql的服务器环境

    安装Apache 首先我们需要在CentOS上安装Apache作为Web服务器。使用以下命令来安装Apache: sudo yum install httpd 安装完成后可以启动Apache,并设置其随系统启动: sudo systemctl start httpd sudo systemctl enable httpd 可以通过访问服务器的公共IP地址,来…

    Linux 2023年5月14日
    00
  • 如何在Linux系统上使用系统监控工具?

    在Linux系统中,我们可以使用许多不同的工具来监视系统状态和资源使用情况。以下是使用几个常用的系统监控工具的攻略。 top 命令 top 命令是最常用的系统监控工具之一,它允许你查看系统所有进程的资源使用情况。打开命令终端,在命令行输入 top 命令就可以启动 top。 top 显示的默认信息包括: 系统负载:表示系统的平均负载,即运行队列中的进程数。 内…

    Linux 2023年4月19日
    00
  • Linux内核(二)

    内核的配置与编译 Linux的内核是可以配置的,就是说可以根据用户的需要进行配置,正是因为Linux的内核可以自由的配置,自由的裁剪,减小内核的体积,才使得Linux的内核可以移植到arm平台上去。 Linux内核配置具体步骤如下: 1.  清除临时文件,中间文件和配置文件(为什么要清除呢?在得到一个内核以后会有许多垃圾文件需要清除) $make clean…

    Linux 2023年4月12日
    00
  • Camera | 5.Linux v4l2架构(基于rk3568)

    上一篇我们讲解了如何编写基于V4L2的应用程序编写,本文主要讲解内核中V4L2架构,以及一些最重要的结构体、注册函数。 厂家在实现自己的摄像头控制器驱动时,总体上都遵循这个架构来实现,但是不同厂家、不同型号的SoC,具体的驱动实现仍然会有一些差别。 读者可以通过本文了解各个结构体与对应的摄像头模块、SoC上控制器模块、以及他们之间接口关系,并能够了解这些硬件…

    Linux 2023年4月10日
    00
  • 安装oracle常见问题和解决方案 linux 终端启动图形化程序界面时报错:No protocol specified

    ./runInstaller: line 95: [: too many arguments ./runInstaller: line 99: /home/oracle/oracle/database: No such file or directory’ 文件目录太长,修改一下即可     这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示…

    Linux 2023年4月11日
    00
  • linux下解决conio.h的问题

    原文:http://blog.sina.com.cn/s/blog_6a95e00b0100zqvf.html linux下没有conio.h的头文件,想要实现getch就无法实现,但是有办法可以代替 //#include <conio.h> void main(){char ch;for(;????{// system(“stty -echo”…

    Linux 2023年4月11日
    00
合作推广
合作推广
分享本页
返回顶部