CentOS 7.4 下 如何部署 AspNetCore 结合 consul
上篇我们讲到consul的概念,以及在WIN下如何使用:http://www.cnblogs.com/szlblog/p/9162557.html
步骤如下:
1、安装虚拟机VM
2、下载安装 CentOS 7.4(地址就不提供了)
这是安装示例: VM虚拟机安装CentOS 示例 https://www.jb51.net/article/108088.htm
3、配置网络环境(确保网络通)
4、下载安装dotnet 运行环境
4.1、注册Microsoft密钥、注册产品存储库和安装所需的依赖项:每个机器执行一次
执行命令如下:
# sudo rpm -Uvh https://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 stop project:停止某一个进程(programxxx)
supervisorctl start project:启动某个进程
supervisorctl restart project:重启某个进程
supervisorctl stop groupworker:重启所有属于名为groupworker的进程
supervisorctl stop all:停止全部进程
supervisorctl reload:重新载入配置文件
supervisorctl update:修改某个进程:
8、安装Negix
8.1、首先我们需要安装PRCE
意义:PCRE 作用是让 Nginx 支持 Rewrite 功能,因为nginx rewrite依赖于PCRE库
执行命令下载:
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
结果如下:

在SRC文件夹下 输入命令 ll 进行查看我们可以看到下载结果
执行解压命令:tar zxvf pcre-8.35.tar.gz 解压如下图所示

8.2、进行PCRE安装:
在我们解压的时候,可以看到我们的解压目录是:pcre-8.35 切换到该目录 下进行安装:具体步骤如下
1)、执行命令切换目录:cd ./pcre-8.35
注意:当你找不到文件路径的时候使用 find -name 文件名称进行查找。
结果如下:

2)、执行安装命令进行安装:
命令:./configure
结果如下

执行命令:make && make install
命令完成后,PCRE完成安装
查看版本命令:pcre-config --version
8.3、Negix下载安装:
1)、执行命令下载:
wget http://nginx.org/download/nginx-1.6.2.tar.gz
这个版本想换掉就更改一下版本

2)、执行命令解压:
命令:tar zxvf nginx-1.6.2.tar.gz
结果如下:

3)、进行安装
执行命令:
./configure
命令最后会输出我们Nginx的路径,日志等文件信息

然后执行:make
最后是:make install
查看版本:/usr/local/nginx/sbin/nginx -v

4)、启动的时候,注意切换到我们的Nginx目录下
输入命令:cd /usr/local/nginx/sbin
输入启动命令: ./nginx
如图所示:

这里配置文件所在目录,请看第 4)、小节点进行安装时的输出(截图中有)
5)、如何查看我们的安装结果
命令行运行:curl http://127.0.0.1 结果如下

在浏览器中查看:

6)、有关Nginx的配置
命令打开配置文件:

具体配置信息如下:
我们把cunsul的注册到配置中
server {
listen 0.0.0.0:10000;
server_name szlconsul.com;
location / {
proxy_pass http://localhost:8500;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
8)、重新加载Nginx配置
切换到配置目录下
执行命令:.nginx -s reload 重新加载
执行命令:.nginx -s reopen 重新打开
执行命令:.nginx -s stop 关闭

运行结果:如下图所示;

9、开放centos 的端口外部访问:
我们要保证虚机的端口是可以被外部访问的,因为Linux系统对我来说很陌生,在使用的过程中,都是要学,有时候一个命令我就要查询很多的资料,中间收货确实不小,建议每一个初接触Linux的千万不要别人给个命令咱逮住就用,万一命令是删除什么的就不好了, 保持谨慎。
在张善友老师整理 文档中我们也可以看出大佬对命令的态度:张老师整理文档地址
Github: https://github.com/geffzhang/opendotnet
1.1、:关闭firewall 防火墙:(在7.0以后都是firewall)
为什么关闭firewall防火墙
1)、在使用Docker时,启用centos7默认的firewall,启动端口映射时,防火墙规则不生效。docker默认使用了iptables防火墙机制。所以需要关闭firewall使用iptables解决
2)、还有的人说是因为习惯,之前centos5 centos6使用iptables 对防火墙相关规则习惯了iptables,亦或者其他的第三方软件使用防火强规则也是iptables的。
3)、也可能是firewall没用习惯。
4)、使用命令:
1)、关闭firewall防火墙:
命令:systemctl stop firewalld.service 关闭防火墙
命令:systemctl disable firewalld.service关闭防火墙开机启动
2)、安装iptables防火墙:
命令:yum install iptables 安装
命令:vim /etc/sysconfig/iptables
添加配置信息:

命令:service iptables restart 重新启动iptables 防火墙
命令:systemctl enable iptables.service 设置防火墙开机自启
外部运行:结果如下:

有不足之处 希望大家指出相互学习,
本文原创:转载请注明出处 谢谢!
CentOS 7.4 下 如何部署 AspNetCore 结合 consul的更多相关文章
- CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)
Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...
- centos 7环境下安装部署zookeeper
近一直在看zookeeper的知识,有所收获,打算写些一些关于zookeeper的博客,也当做是自己的复习和笔记. 在上一篇 博客中简单地介绍了centos 7 下如何安装jdk,这一篇将介绍如何在c ...
- CentOS 7.x下安装部署MySQL 8.0实施手册
MySQL 8 正式版 8.0.11 已发布,官方表示 MySQL 8 要比 MySQL 5.7 快 2 倍,还带来了大量的改进和更快的性能! 一. Mysql8.0版本相比之前版本的一些特性 1) ...
- CentOS 5.5下搭建部署独立SVN服务器全程详解
SVN服务器有2种运行方式:1.独立服务器 (例如:svn://xxx.com/xxx):2.借助apache (例如:http://svn.xxx.com/xxx):为了不依赖apache,我选 ...
- Linux Centos7.x下安装部署VNC的实操详述
VNC (Virtual Network Console)是虚拟网络控制台的缩写.它 是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的.VNC 是在基于 UNIX和 Lin ...
- Linux(CentOS 6.7)下配置Mono和Jexus并且部署ASP.NET MVC3、4、5和WebApi(跨平台)
1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...
- Linux(CentOS 6.5)下配置Mono和Jexus并且部署ASP.NET MVC5
1.开篇说明 a. 首先我在写这篇博客之前,已经在自己本地配置了mono和jexus并且成功部署了asp.net mvc项目,我也是依赖于在网上查找的各种资料来配置环境并且部署项目的,而其在网上也已有 ...
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】
CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2 ...
- 【简书】在阿里云自带的CentOS + LAMP环境下部署一个Laravel项目
在阿里云自带的CentOS + LAMP环境下部署一个Laravel项目 作者 DonnieZero 关注 2017.07.29 22:02* 字数 2218 阅读 5556评论 3喜欢 1赞赏 1 ...
随机推荐
- Python数据结构应用4——搜索(search)
Search是数据结构中最基础的应用之一了,在python中,search有一个非常简单的方法如下: 15 in [3,5,4,1,76] False 不过这只是search的一种形式,下面列出多种形 ...
- ceph osd 自动挂载的N种情况
直接上干货: ceph自动挂载原理 系统启动后,ceph 通过扫描所有磁盘及分区的 ID_PART_ENTRY_TYPE 与自己main.py中写死的osd ready 标识符来判断磁盘(及其分区)是 ...
- AWVS12 介绍和安装详解 -- For Windows10
一.AWVS介绍: Acunetix Web Vulnerability Scanner,简称:AWVS,是一个自动化的Web安全测试工具,它可以扫描Web站点和Web应用. AWVS可以快速扫描SQ ...
- 菜鸟如何反转到资深Web安全工程师
90后理工男,计算机专业,毕业于985院校,从事Web安全工作,两年多的时间里先后跳槽3家公司,跳槽理由主要有以下几点:加班多.薪资低.工作内容枯燥,不想安于现状,寄希望于通过跳槽找到一个“钱多.活少 ...
- 有道云笔记MarkDown 插入图片
前言: 在网上找了很多有道云笔记的markdown笔记如何插入本地图片,试了好几种方式都是一时可以显示而已,只要电脑重启或者换终端查看就无法显示图片了.网上常用的方法无非两种有效:github.博客. ...
- 聊聊 JUC 并发包
今天开始我们聊聊 Java 并发工具包中提供的一些工具类,本文主要从并发同步容器和并发集合工具角度入手,简单介绍下相关 API 的用法与部分实现原理,旨在帮助大家更好的使用和理解 JUC 工具类. 在 ...
- Asp.Net Core&钉钉开发系列
阿里钉钉在商业领域的规模越来越大,基于钉钉办公的企业越来越多,将一个企业内现有用到的工具(如钉钉)能够更融入到他们的工作中,提高工作效率,那便需要开发者不断的学习.应用了,同时,个人也有一个预感,未来 ...
- 在 EFCore 定义的实体中进行 FreeSql 开发
EFCore 和 FreeSql 都是 ORM,在各自领域都有着独特的优势. 问题起源 假设某项目是使用 EFCore 开发的,且实体 特性或FluentApi 都配置好了,如: protected ...
- Unity 用ml-agents机器学习造个游戏AI吧(2)(入门DEMO)
前言: 上一篇博文已经介绍了Unity ml-agents的环境配置(https://www.cnblogs.com/KillerAery/p/10629963.html)了. 个人建议先敲demo再 ...
- 浅谈CSS3 box-sizing 属性 有趣的盒模型
盒模型的组成大家肯定都懂,由里向外content,padding,border,margin. 盒模型是有两种标准的,一个是标准模型,一个是IE模型. 从上面两图不难看出在标准模型中,盒模型的宽高只是 ...