目錄node
準備工做linux
開始幹活git
1.從github 獲取surging源碼github
2.發佈Surging.ApiGateway網關docker
3.安裝 consuljson
4.安裝rabbitMQbootstrap
5.安裝rancher 2.0 (咱們嚐個鮮)centos
6.建立rancher本地集羣,並運行surging網關服務瀏覽器
開發環境 Visual Studio 2017 15.5
運行環境 虛擬機CentOS 7+Docker+Rancher 2.0+Consul+RabbmitMQ
項目下載地址 https://github.com/dotnetcore/surging
CentOS 7安裝 Docker教程 https://docs.docker.com/install/linux/docker-ce/centos/
docker 安裝 rancher2.0 官方文檔 https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/
DockerHub 註冊一個帳號用於管理咱們本身的鏡像,rancher裏面的鏡像要從這裏面下載 https://hub.docker.com/
將項目拉下來,用VS2017打開生成解決方案,生成沒毛病就繼續下一步,打開 Surging.ApiGateway 項目的Program.cs
接下來打開 Surging.ApiGateway下的 Configs文件夾下的gatewaySettings.json 文件,這個是網關的配置文件下面是重要的兩個配置信息。
要把Dockerfile 文件也添加去用於docker build。我這邊是經過SecureCRT 將發佈的包上傳到虛擬機上。
一.在使用SecureCRT上傳下載以前須要給服務器安裝lrzsz:
yum -y install lrzsz (注:參數-y中"y"的意思是:當安裝過程提示選擇所有爲"yes")
2、命令sz、rz的使用方法:
rz中的r意爲received(接收),輸入rz時、意爲服務器接收文件,既將文件從本地上傳到服務器。
sz中的s意爲send(發送),輸入sz時、意爲服務器要發送文件,既從服務器發送文件到本地,或是說本地從服務器上下載文件。
注:不管是send仍是received,動做都是在服務器上發起的。
最好是把發佈程序打包成zip 上傳,這樣不用糾結子文件夾不能上傳問題,而後在虛擬機上進行解壓。
在 Dockerfile 文件所在目錄執行(就是發佈程序的根目錄):
//此命令是構建一個本地鏡像在docker裏面 dockerfile 具體的細節能夠參考這個老鐵的 Docker Dockerfile 定製鏡像
構建好之後執行
$ docker images //查看本地全部鏡像
看到咱們的本地鏡像後說明鏡像已經構建成功過,接下將構建好的鏡像上傳到 docker hub裏面以便使用。
先登陸docker hub 執行
我提煉了一下 執行一下命令就好了,作兩個consul服務小集羣,嘻嘻
因爲docker默認建立容器每次重啓會從新分配容器內部IP,會致使集羣的join的IP 連接不上從而重啓失敗!
咱們設置docker的consul 容器爲固定IP
docker network create --subnet=172.25.0.0/16 consulnet --建立自定義網絡類型,而且指定網段
consul 服務端 node1 --請按照順序執行一下命令
consul 服務端 node2
效果以下,裏面有兩個節點在裏面了
瀏覽器打開CentOS 7 ip:15672
瀏覽器打開 CentOS7 IP:80 2.x 是經過https 鏈接的繼續訪問便可,設置好admin的 密碼登陸進去。
效果圖以下,右下角能夠設置爲中文
至此環境已經搭建完畢,開始建立surging網關吧,期待ing...
1.點擊添加集羣 選擇
2.設置一個集羣名稱 而後一切默認,點擊 下一步 , 主機角色所有勾上 再把命令在docker 裏面執行。
初次執行時間有點長鬚要下載相關鏡像run起來 成功後 ,點擊完成就能看到咱們的本機集羣了,興奮ing。。
3.建立surging網關服務 ,點擊 default.
點擊啓動,祈禱吧少年。成功啓動效果以下
在瀏覽器 輸入 CentOS7 ip:30000 查看網關界面
surging官方QQ羣:615562965