zoukankan      html  css  js  c++  java
  • 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 设置防火墙开机自启

        外部运行:结果如下:

        

    转自:http://www.cnblogs.com/szlblog/p/9164419.html

  • 相关阅读:
    链表中倒数第K个结点
    关于栈的经典问题---判断一个栈的出栈序列是不是有效的
    剑指Offer-用两个栈实现队列
    Netty与NIO
    牛客-反转数字
    N叉树的最大深度-DFS
    version can neither be null, empty nor blank
    剑指 Offer 16. 数值的整数次方
    Vue基础语法与指令
    ES6常用语法
  • 原文地址:https://www.cnblogs.com/wyt007/p/9196915.html
Copyright © 2011-2022 走看看