上篇我們講到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 設置防火牆開機自啟
外部運行:結果如下:
有不足之處 希望大家指出相互學習,
本文原創:轉載請注明出處 謝謝!