详解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中zip压缩和unzip解压缩命令详解

    Linux中zip压缩和unzip解压缩命令详解 一、zip压缩命令 zip命令可以在Linux系统中对多个文件或文件夹进行压缩,其基本的用法为: zip 压缩文件名.zip 待压缩文件或文件夹 其中: 压缩文件名.zip表示压缩后的文件名,可以自定义。 待压缩文件或文件夹表示要压缩的文件或文件夹,可以是绝对路径或相对路径。 例如,要将当前目录下所有.txt…

    Linux 2023年5月14日
    00
  • Linux服务器nginx访问日志里出现大量http 400错误的请求分析

    下面是对于Linux服务器nginx访问日志出现大量http400错误的请求分析的攻略: 1. 什么是HTTP 400错误? HTTP 400错误是一个客户端错误状态码,代表了请求在服务器端无效。它通常是由于客户端发送的请求有错误或缺少必要的信息导致的。常见的错误类型包括: 语法错误:请求格式不正确、参数有误等。 参数错误:请求的参数类型不匹配、参数缺少等。…

    Linux 2023年5月14日
    00
  • Red Hat Enterprise Linux AS release 4 apache+MYsql+PHP的安装

    以下是“Red Hat Enterprise Linux AS release 4 Apache+MySQL+PHP的安装”的完整使用攻略,包含两个示例说明。 安装Apache 在终端中输入以下命令以安装Apache: yum install httpd 安装完成后,启动Apache: sudo systemctl start httpd 检查Apache服…

    Linux 2023年5月13日
    00
  • Linux FTP 命令全集

    Linux FTP 命令全集 下面就所有命令给出解释和例子。 说明:  1. remote-file 指远程文件,即服务器上的文件 2. local-file  指本地文件,即本地机器上的文件 2 登录登出命令 2.1 ftp $ ftp 192.168.0.2 格式: ftp [host] Host为ftp主机ip,此命令用来登录ftp服务器,登录后会提示…

    Linux 2023年4月12日
    00
  • Linux下如何查看某个软件是否安装???软件的安装路径又在哪???

    Linux下有多种方式可以查看某个软件是否安装,包括以下两种常用方法: 方法一:使用dpkg命令查看软件是否安装 dpkg是Debian操作系统中用来管理安装包的工具,通过dpkg命令我们可以查看某个软件是否已经安装。在终端中执行以下命令: dpkg -s 软件名称 其中,“软件名称”为你想要查看的软件的名称。如果控制台输出“Package ‘软件名称’ i…

    Linux 2023年5月14日
    00
  • android 应用程序中执行Linux 命令

    ADB 无线调试命令son = “setprop service.adb.tcp.port 5555\n” + “stop adbd\n” + “start adbd\n”;soff = “setprop service.adb.tcp.port -1\n” + “stop adbd\n” + “start adbd\n”; reboot 立即重启//获取I…

    Linux 2023年4月11日
    00
  • Docker for windows pull镜像文件的安装位置改变的方法

    首先,需要说明的是Docker for Windows的默认安装位置是在C:\Program Files\Docker\Docker\下。 若要更改Docker for Windows pull镜像文件的安装位置,可以按照以下步骤进行: 停止Docker服务 在Docker for Windows的系统托盘中右键点击鼠标,选择Settings,进入Setti…

    Linux 2023年5月30日
    00
  • 浅谈Linux的虚拟内存

    浅谈 Linux 的虚拟内存 什么是虚拟内存 虚拟内存是计算机操作系统为了让物理内存的使用更加高效而设计的一种技术。它使得应用程序在使用内存时,感觉自己独占了整个系统的物理内存,从而大大提高了内存的使用效率。 与传统的内存管理方式不同,虚拟内存通过在系统启动时分配给每个进程可供其使用的虚拟地址空间,在程序运行时将虚拟地址转换为物理地址,从而使得内存的管理更加…

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