详解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日

相关文章

  • kali安装docker及搭建漏洞环境的详细教程

    以下是“Kali安装Docker及搭建漏洞环境的详细教程”: 1. 安装Docker Kali Linux自带了Docker,我们只需要更新并安装即可: sudo apt update sudo apt-get install docker-ce docker-ce-cli containerd.io 安装完成后,我们可以使用以下命令来测试是否安装成功: s…

    Linux 2023年5月24日
    00
  • linux下mysql 5.7.16 免安装版本图文教程

    下面我为您详细讲解一下“Linux下MySQL 5.7.16免安装版本图文教程”的完整攻略。 1. 下载MySQL安装包 首先,我们需要在官网上下载MySQL 5.7.16版本的安装包。该地址为: https://dev.mysql.com/downloads/mysql/5.7.html 。 在该页面中,我们选择“Linux – Generic”选项,然后…

    Linux 2023年5月14日
    00
  • Linux常用命令之cp、mv、rm、cat、more、head、tail、ln命令讲解

    上一章节中,我们了解到了Linux系统的最基础的几个文件处理命令,核心的是ls命令,在今天这章中,我们来继续学习Linux对于文件操作相关的一些命令,比如复制、移动、删除、查看等命令。 1、cp 命令解释 命令名称:cp 命令英文全称:copy 命令所在路径: /bin/cp 执行权限:所有用户 命令功能:复制文件或者目录 语法讲解1:cp -R [源目录]…

    Linux 2023年4月11日
    00
  • JAVA如何利用Swiger获取Linux系统电脑配置相关信息

      最近开发java应用程序,涉及到获取Linux服务器相关配置的问题,特地网上搜寻了下,采用Swiger包可以直接获取,再次小结一下,以便于以后能方便使用,也便于其他童鞋们学习。 推荐大家参考链接:https://www.cnblogs.com/kabi/p/5209315.html 值得注意的问题是: 1.如果是Linux的环境下,要把libsigar-…

    Linux 2023年4月11日
    00
  • cdlinux万能无线破解系统0.9.7.1中文版图文使用教程

    CDlinux 万能无线破解系统0.9.7.1中文版图文使用教程 什么是CDlinux 万能无线破解系统? CDlinux 是一个基于Linux内核的小型发行版操作系统,对应用软件的支持非常广泛,尤其是无线网络安全测试领域,CDlinux更是一个重要的利器,因为它内置了无线网卡破解工具和网络测试工具。因此,CDlinux广泛用于无限电器、运通电器、空间电气的…

    Linux 2023年5月24日
    00
  • CentOS系统中使用yum命令安装redis的方法

    下面是 CentOS 系统中使用 yum 命令安装 Redis 的完整攻略: 1. 配置 EPEL 仓库 首先,我们需要在系统中启用 EPEL (Extra Packages for Enterprise Linux) 的 YUM 软件仓库,进而使用 yum 命令安装 Redis。EPEL 是针对 CentOS、RHEL、Scientific Linux 等…

    Linux 2023年5月14日
    00
  • Linux命令之—cd

    命令简介 Linux cd 命令是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的。 命令格式 cd [目录名] 命令功能 切换当前目录至dirName 常用范例 例一:进入系统根目录 命令:cd /  [root@king ~]# cd / 说明:进入系统根目录,上面命令执行完后拿ls命令看一下,当前目录已经到系统根目…

    Linux 2023年4月13日
    00
  • linux用rdate命令实现同步时间

    用rdate命令实现同步时间   前两天说到用ntp时间服务器和ntpdate命令同步时间,今天简单记录下用rdate同步时间 http://blog.csdn.net/wyzxg/archive/2010/05/06/5561548.aspx       在各种linux中都有rdate命令 //RHEL5 1. 选在一台linux作为master,然后启…

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