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

上篇我们讲到consul的概念,以及在WIN下如何使用:https://www.jb51.net/article/141783.htm

步骤如下:

1、安装虚拟机VM

2、下载安装 CentOS 7.4

下载地址:https://www.jb51.net/softs/590894.html

这是安装示例: VM虚拟机安装CentOS示例 https://www.jb51.net/article/108088.htm

3、配置网络环境(确保网络通)

4、下载安装dotnet 运行环境

4.1、注册Microsoft密钥、注册产品存储库和安装所需的依赖项:每个机器执行一次

执行命令如下:

# sudorpm-Uvhhttps://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

如下图所示

4.2、安装.net SDK            

执行命令如下:

# sudo yum install dotnet-sdk-2.1你想用哪个版本就换成哪个版本

如下图所示

4.3、查看是否安装成功:       

执行命令如下:

#dotnet –version

如下图所示

5、把我们在windows下创建的项目生成发布上传到Linux

操作步骤如下:

5.1、把项目生成发布:

5.2、找到发布的文件夹打包成ZIP格式的压缩文件

5.3、下载安装一个工具(哪种都行我用的是Xftp 5)用来上传文件到Linux中

5.4、进行项目发布压缩包上传:        

上传之前:我先使用命令创建了一个文件夹:命令如下:

# mkdir~/AspNetCore

开始上传:如下图

5.5、执行命令解压:

解压命令:# unzip /root/AspNetCore/MyFrameworkCore.zip

如下图所示:

5.6、在当前解压的文件夹下运行项目

如下图所示:

5.7、我们来运行一下查看结果如下:

6、在Linux下安装Consul 

6.1、下载Linux版本的consul

上篇 文章开始时我们提供过地址:

6.2、发送到Linux中进行安装

1):这是第一种方法:

2):第二种方法:命令下载:

执行命令:Wget https://releases.hashicorp.com/consul/1.1.0/consul_1.1.0_linux_amd64.zip

6.3、解压文件:命令解压

执行命令:# unzip consul_1.1.0_linux_amd64.zip

如图所示

6.4、运行启动consul :命令运行

执行命令: ./consul可以查看版本

如图:

执行命令: ./consul agent -dev 开发者运行

6.5、页面访问:地址为 127.0.0.1:8500

结果如图所示:

6.6、我们通过命令行在运行项目注册服务

因为我们的端口是通过命令行去读取的所以需要我们 在命令行中需要输入相关命令

命令行如下:

注意如果我们在运行项目的时候一定要启动Consul

7、安装配置守护进程: 

安装守护进程的意义:为了在我们退出命令界面的时候使我们的网站继续运行,就比如我们在VS中运行项目一样,当VS停止运行的时候,项目也就无法运行了

7.1、安装 Supervisor

官方文档了解更多:http://supervisord.org/

为什么选择用这个去做:因为微软官方推荐,

执行命令进行下载: Supervisor

yum install python-setuptools

7.2、进行安装

执行命令:安装

命令:easy_install supervisor

7.3、查看 Supervisor配置文件

输入命令:echo_supervisord_conf

结果如下:

我们可以在终端的输出的信息中最后一行看到如下图所示:

在这句话是我们需要替换一下新增也行:目的是为了方便读取我们的配置文件:首先我们创建一个文件夹:移动 echo_supervisord_conf文件

命令如下:mkdir /etc/supervisor

7.4、移动命令文件到新建文件夹中

执行命令:echo_supervisord_conf > /etc/supervisor/supervisord.conf

如下图所示

7.5、新增配置:在/etc/supervisor/supervisord.conf中

注意不要加; 空格

添加内容: [include]files=conf.d/*.conf

执行命令:vim /etc/supervisor/supervisord.conf

内容如下图所示:

7.6、新建配置文件添加配置信息

新建文件夹命令:mkdir conf.d

切换到文件夹下:cd conf.d

新建配置文件命令:touch AspNetCore.conf

打开编译配置文件命令:vim AspNetCore.conf

如图所示:新加配置信息:

注释如下:注释一定要去掉

7.7、重新加载配置信息:/etc/supervisor/supervisord.conf

方法一:sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.conf

这里启动的时候已经在运行了我们的私有配置:因为配置文件中我们加入了 [include]files=conf.d/*.conf

方法二:

#停止: sudo service supervisor stop

#启动:sudo service supervisor start

7.8、运行结果:

当 supervisor重新启动的时候我们的配置已经生效了

1)、首先我们访问一下我们通过配置文件启动的站点:

2)、在查看我们的consul中是注册了服务

有关 supervisorctl的一些简单命令:

supervisorctl stopproject:停止某一个进程(programxxx)

supervisorctl startproject:启动某个进程

supervisorctl restartproject:重启某个进程

supervisorctl stop groupworker:重启所有属于名为groupworker的进程

supervisorctl stop all:停止全部进程

supervisorctl reload:重新载入配置文件

supervisorctl update:修改某个进程:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 详解将ASP.NET Core应用程序部署至生产环境中(CentOS7)

    将ASP.NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. 部署ASP.NET Core应用程序 配置Nginx 配置守护服务(Supervisor) 这段时间在使用Rabbit RPC重构公司的一套系统(微信相关),而最近相关检验(逻辑测试.压力测试)已经完成,接近部署至线上生产环境从而捣鼓了ASP.NET Core应用程序在CentOS上的部署

  • 在CentOS6.5上使用Jexus安装部署ASP.NET MVC4和WebApi

    Jexus 即 Jexus Web Server,简称JWS,是Linux平台上的一款ASP.NET WEB服务器,是 Linux.Unix.FreeBSD 等非Windows系统架设 ASP.NET WEB 服务器的核心程序,是企业级ASP.NET跨平台部署的一种可选方案.与其它WEB服务器相比,Jexus不但具有跨平台ASP.NET服务器这样的标志性特征,同时还拥有内核级的安全监控.入侵检测.URL重写.无文件路由等一系列重要功能和专有特性. 一.使用Jexus5.8.1独立版 网址http

  • CentOS 5.1下跑Mono和Asp.net的实现方法分享

    下载编译环境:yum install gcc bison pkgconfig glib2-devel gettext make httpd-devel gcc-c++ libstdc++-devel 下载并解压源代码:wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.6.3.tar.bz2wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.6.3.tar.bz

  • Centos7系统下搭建.NET Core2.0+Nginx+Supervisor环境

    一.Linux .NET Core简介 一直以来,微软只对自家平台提供.NET支持,这样等于让这个"理论上"可以跨平台的框架在Linux和macOS上的支持只能由第三方项目提供(比如Mono .NET). 直到微软推出完全开源的.NET Core.这个开源的平台兼容.NET  Standard,并且能在Windows.Linux和MacOS上提供完全一致的API.虽然这个小巧的.NET框架只是标准.NET的一个子集,但是已经相当强大了. 一方面,这个小巧的框架可以让某些功能性应用同时运

  • .Net Core部署到CentOS的图文教程

    本文基于初次或再次尝试部署.Net Core应用到Linux服务器上,我尝试后自我总结的经验一个简单的Demo,尝试部署在Linux服务器上和跨服务器访问数据库. 一.环境介绍 1.本地使用Visual Studio 2017开发,使用的.NetCore SDK版本为2.1.4: 2.数据库使用的MSSQLServer,部署在阿里云服务器上,WindowServer: 3.Demo部署在腾讯云服务器上,CentOS系统; 4.CentOS中安装了.net CoreSDK 2.1.4(开发和部署的

  • CentOS上搭建Nginx+Mono运行asp.net环境的配置方法

    安装步骤: 一.获取开源相关程序: 1.利用CentOS Linux系统自带的yum命令安装.升级所需的程序库: sudo -s LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bz

  • Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的实现

    前言 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级项目的同时,顺便直接将Jenkins搬到Docker上.为什么要写这篇文章呢?因为找过相关的资料,大多数文章都是基于Ubuntu 安装.net core 又或者 GitLab 进行持续集成 自动部署等等等,并未有人尝试过Centos7.3 上部署 Jenkins 并且 构建 ASP.NET CORE 2

  • CentOS 5.1下跑Mono和Asp.net的实现方法

    下载编译环境: yum install gcc bison pkgconfig glib2-devel gettext make httpd-devel gcc-c++ libstdc++-devel 下载并解压源代码: wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.6.3.tar.bz2 wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.6.3.tar

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

    上篇我们讲到consul的概念,以及在WIN下如何使用:https://www.jb51.net/article/141783.htm 步骤如下: 1.安装虚拟机VM 2.下载安装 CentOS 7.4 下载地址:https://www.jb51.net/softs/590894.html 这是安装示例: VM虚拟机安装CentOS示例 https://www.jb51.net/article/108088.htm 3.配置网络环境(确保网络通) 4.下载安装dotnet 运行环境 4.1.注册

  • Linux CentOS下docker部署Asp.Net6 Core

    1.项目设置 设置dockerfile属性为"始终复制", 修改dockerfile文件内容为: FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /web COPY . . EXPOSE 80 EXPOSE 443 FROM base AS final ENTRYPOINT ["dotnet", "OneZhanMVC.dll"] ps:若项目没有dockerfile右键项目,点击

  • Linux CentOS下docker部署Asp.Net Core(.Net6)

    1.项目设置 设置dockerfile属性为"始终复制", 修改dockerfile文件内容为: FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base WORKDIR /web COPY . . EXPOSE 80 EXPOSE 443 FROM base AS final ENTRYPOINT ["dotnet", "OneZhanMVC.dll"] ps:若项目没有dockerfile右键项目,点击

  • 详解CentOS 6.4下PXE+Kickstart无人值守安装操作系统

    一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软

  • 详解 Java继承关系下的构造方法调用

    详解 Java继承关系下的构造方法调用 在Java中创建一个类的对象时,如果该类存在父类,则先调用父类的构造方法,然后再调用子类的构造方法.如果父类没有定义构造方法,则调用编译器自动创建的不带参数的默认构造方法.如果父类定义了public的无参的构造方法,则在调用子类的构造方法前会自动先调用该无参的构造方法.如果父类只有有参的构造方法,没有无参的构造方法,则子类必须在构造方法中必须显式调用super(参数列表)来指定某个有参的构造方法.如果父类定义有无参的构造方法,但无参的构造方法声明为priv

  • CentOS 6.4下安装部署OpenStack云计算平台的方法

    前言 OpenStack 是一个开源的 IaaS(基础设施及服务)云计算平台,让任何人都可以自行建立和提供云端运算服务. OpenStack 由一系列相互关联的项目提供云基础设施解决方案的各个组件,核心项目(9 个): 1.计算 (Compute) - Nova: 2.网络和地址管理 - Neutron: 3.对象存储 (Object) - Swift: 4.块存储 (Block) - Cinder: 5.身份 (Identity) - keystone: 6.镜像 (Image) - Glan

  • 详解如何在阿里云服务器部署程序并用域名直接访问

    闲来无事,买了一个最便宜的阿里云服务器来学习,一年三百多,适合新手了解程序等. 一般买服务器只有公网的IP地址,也就是类似10.205.25.32这种形式的.如何想用域名(例如www.baidu.com)直接访问的你网站,可以在阿里云直接再买个域名,将域名解析绑定ip地址. 有人想知道怎么解析域名,我这里补充一下域名相关内容 1.域名: 域名分为一级,二级,三级域名,如www.baidu.com,baidu为一级域名,www为二级域名,此网址没有三级域名 而比如mail.www.baidu.co

  • 详解C++ sizeof(下)

    sizeof作用于基本数据类型,在特定的平台和特定的编译器中,结果是确定的,如果使用sizeof计算构造类型:结构体.联合体和类的大小时,情况稍微复杂一些. 1.sizeof计算结构体 考察如下代码: struct S1 { char c; int i; }; cout<<"sizeof(S1)="<<sizeof(S1)<<endl; sizeof(S1)结果是8,并不是想象中的sizeof(char)+sizeof(int)=5.这是因为结构体或

  • 详解python命令提示符窗口下如何运行python脚本

    以arcgispro的python脚本为例在arcgispro自带的python窗口下运行python脚本 需求: 将arcgispro的.aprx项目包中gdb的数据源路径更换为sde数据源路径. 示例数据:testaprx_jb51.rar 演示过程: 方式一:脚本中指定好相关参数设置 import arcpy import json import sys import os import argparse import re result = "" jsontext = {'su

  • 详解JavaScript什么情况下不建议使用箭头函数

    目录 this指向原理 问题的由来 内存的数据结构 函数 环境变量 箭头函数的缺点 不适用的场景 总结 箭头函数作为ES6新增的语法,在使用时不仅能使得代码更加简洁,而且在某些场景避免this指向问题.但是箭头函数不是万能的,也有自己的缺点以及不适用的场景,虽然可以解决this只想问题,但是也可能会带来this指向问题.具体场景具体分析,本文就深入探讨箭头函数. 箭头函数没有自己的this,其this取决于上下文中定义的this. this指向原理 问题的由来 学懂 JavaScript 语言,

随机推荐