CentOS 7.4 下 如何部署 AspNetCore 結合 consul

      上篇咱們講到consul的概念,以及在WIN下如何使用:http://www.cnblogs.com/szlblog/p/9162557.htmlhtml

步驟以下:python

1、安裝虛擬機VM

2、下載安裝 CentOS 7.4(地址就不提供了)

    這是安裝示例: VM虛擬機安裝CentOS 示例  https://www.jb51.net/article/108088.htmlinux

 

三、配置網絡環境(確保網絡通)

四、下載安裝dotnet 運行環境

  4.1註冊Microsoft密鑰、註冊產品存儲庫和安裝所需的依賴項:每一個機器執行一次nginx

    執行命令以下:git

    # sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpmgithub

    以下圖所示docker

    

  4.二、安裝.net SDK            vim

    執行命令以下:windows

    # sudo yum install dotnet-sdk-2.1  你想用哪一個版本就換成哪一個版本centos

    以下圖所示

    

  4.三、查看是否安裝成功:       

    執行命令以下:

    # dotnet –version

    以下圖所示

    

五、把咱們在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咱們來運行一下查看結果以下:

    

六、在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

     

七、安裝配置守護進程: 

    安裝守護進程的意義:爲了在咱們退出命令界面的時候使咱們的網站繼續運行,就好比咱們在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:修改某個進程:

 八、安裝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.3Negix下載安裝:

 

  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   關閉

    

    運行結果:以下圖所示;

    

 

 

九、開放centos 的端口外部訪問:

  咱們要保證虛機的端口是能夠被外部訪問的,由於Linux系統對我來講很陌生,在使用的過程當中,都是要學,有時候一個命令我就要查詢不少的資料,中間收貨確實不小,建議每個初接觸Linux的千萬不要別人給個命令咱逮住就用,萬一命令是刪除什麼的就很差了,  保持謹慎。

  在張善友老師整理 文檔中咱們也能夠看出大佬對命令的態度:張老師整理文檔地址

  Github: https://github.com/geffzhang/opendotnet 

 

  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 設置防火牆開機自啓

    外部運行:結果以下:

    

 

                   有不足之處 但願你們指出相互學習,

                                     本文原創:轉載請註明出處 謝謝!

相關文章
相關標籤/搜索