国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進(jìn)程|Fedora|注冊(cè)表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Linux - 在Linux系統(tǒng)下使用Docker以及Weave搭建Nginx反向代理

在Linux系統(tǒng)下使用Docker以及Weave搭建Nginx反向代理

2019-09-04 13:37開源中文社區(qū) Linux

這篇文章主要介紹了在Linux系統(tǒng)下使用Docker以及Weave搭建Nginx反向代理的具體步驟,Docker是當(dāng)下最為火爆的虛擬機(jī)類技術(shù),需要的朋友可以參考下

Hi, 今天我們將會(huì)學(xué)習(xí)如何使用 Weave 和 Docker 搭建 Nginx反向代理/負(fù)載均衡服務(wù)器。Weave 可以創(chuàng)建一個(gè)虛擬網(wǎng)絡(luò)將 Docker 容器彼此連接在一起,支持跨主機(jī)部署及自動(dòng)發(fā)現(xiàn)。它可以讓我們更加專注于應(yīng)用的開發(fā),而不是基礎(chǔ)架構(gòu)。Weave 提供了一個(gè)如此棒的環(huán)境,仿佛它的所有容器都屬于同個(gè)網(wǎng)絡(luò),不需要端口/映射/連接等的配置。容器中的應(yīng)用提供的服務(wù)在 weave 網(wǎng)絡(luò)中可以輕易地被外部世界訪問,不論你的容器運(yùn)行在哪里。在這個(gè)教程里我們將會(huì)使用 weave 快速并且簡(jiǎn)單地將 nginx web 服務(wù)器部署為一個(gè)負(fù)載均衡器,反向代理一個(gè)運(yùn)行在 Amazon Web Services 里面多個(gè)節(jié)點(diǎn)上的 docker 容器中的簡(jiǎn)單 php 應(yīng)用。這里我們將會(huì)介紹 WeaveDNS,它提供一個(gè)不需要改變代碼就可以讓容器利用主機(jī)名找到的簡(jiǎn)單方式,并且能夠讓其他容器通過主機(jī)名連接彼此。

在這篇教程里,我們將使用 nginx 來將負(fù)載均衡分配到一個(gè)運(yùn)行 Apache 的容器集合。最簡(jiǎn)單輕松的方法就是使用 Weave 來把運(yùn)行在 ubuntu 上的 docker 容器中的 nginx 配置成負(fù)載均衡服務(wù)器。

Docker之weave工具
weave是什么呢?weave創(chuàng)建了一個(gè)虛擬網(wǎng)絡(luò),用來連接部署在多臺(tái)機(jī)器上的docker容器。

下面看看weave的應(yīng)用場(chǎng)景: 

在Linux系統(tǒng)下使用Docker以及Weave搭建Nginx反向代理
應(yīng)用在使用該網(wǎng)絡(luò)的時(shí)候就像所有的容器都在同一個(gè)交換機(jī)網(wǎng)絡(luò)下一樣,不需要配置端口映射、連接等等,容器中的應(yīng)用提供的服務(wù)在weaver網(wǎng)絡(luò)中可以被外部世界訪問,不論你的容器運(yùn)行在哪里。同樣的,已經(jīng)存在的系統(tǒng)應(yīng)用也可以暴露給容器中的應(yīng)用來調(diào)用,而不用擔(dān)心內(nèi)部應(yīng)用運(yùn)行的位置。

在Linux系統(tǒng)下使用Docker以及Weave搭建Nginx反向代理
weave可以穿透防火墻,流量是被加密的,允許主機(jī)連接通過一個(gè)不被信任的網(wǎng)絡(luò),使用weave你可以方便的部署多個(gè)容器在不同的地方運(yùn)行

假如你有一個(gè)docker應(yīng)用運(yùn)行在兩臺(tái)不同的主機(jī)HOST1和HOST2上面,也就是我們要在這兩臺(tái)主機(jī)上各部署一個(gè)相同類型的docker應(yīng)用。

在HOST1上面:?jiǎn)?dòng)weave
 

復(fù)制代碼

代碼如下:

#這一步先啟動(dòng)weave路由,需要在每一臺(tái)HOST上都啟動(dòng)
weave launch 

#啟動(dòng)一個(gè)容器,在命令行設(shè)置了一個(gè)ip,weave run調(diào)用docker run -d,因此我們可以使用這種辦法啟動(dòng)一個(gè)容器,同理存在weave start命令,它是調(diào)用docker start命令啟動(dòng)已經(jīng)存在的容器,如果我們?cè)谠揌OST1上有多個(gè)容器要部署,則繼續(xù)執(zhí)行第二行的命令即可,只要保證容器設(shè)置的ip沒有沖突即可,同一個(gè)網(wǎng)段的ip可以到處使用
ssh=$(weave run 10.1.1.1/24 -t -i ubuntu)

 

在HOST2上面:?jiǎn)?dòng)weave
 

復(fù)制代碼

代碼如下:


#這一步有點(diǎn)不一樣,我們?cè)贖OST2上告訴weave他有一個(gè)同行在HOST1上,可以指定ip或者主機(jī)名,還可以指定端口。如果在HOST1和HOST2直接有防火墻,要確保tcp/udp的6783端口被打開
weave launch $HOST1 

#和第一步中不同的地方在于,配置的IP不一樣
ssh=$(weave run 10.1.1.2/24 -t -i ubuntu)

 

我們也可以告訴HOST1去連接HOST2,或者兩者都告訴他們,這是沒有任何問題的,weave會(huì)自動(dòng)的連接,在他們的服務(wù)啟動(dòng)后,我們也可以告訴weave連接多個(gè)同行,你可以提供多個(gè)ip地址,用空格分開即可。

在HOST1上面:

 

復(fù)制代碼

代碼如下:

docker attach $ssh


在HOST2上面:

 

 

復(fù)制代碼

代碼如下:

docker attach $ssh


然后兩者進(jìn)行互ping,會(huì)發(fā)現(xiàn)網(wǎng)絡(luò)是通的

 

下面來看一下具體的部署過程
1. 搭建 AWS 實(shí)例
首先,我們需要搭建 Amzaon Web Service 實(shí)例,這樣才能在 ubuntu 下用 weave 跑 docker 容器。我們將會(huì)使用AWS 命令行 來搭建和配置兩個(gè) AWS EC2 實(shí)例。在這里,我們使用最小的可用實(shí)例,t1.micro。我們需要一個(gè)有效的Amazon Web Services 賬戶使用 AWS 命令行界面來搭建和配置。我們先在 AWS 命令行界面下使用下面的命令將 github 上的 weave 倉(cāng)庫(kù)克隆下來。
 

復(fù)制代碼

代碼如下:


$ git clone https://github.com/weaveworks/guides
$ cd weave-gs/aws-nginx-ubuntu-simple


在克隆完倉(cāng)庫(kù)之后,我們執(zhí)行下面的腳本,這個(gè)腳本將會(huì)部署兩個(gè) t1.micro 實(shí)例,每個(gè)實(shí)例中都是 ubuntu 作為操作系統(tǒng)并用 weave 跑著 docker 容器。

復(fù)制代碼

代碼如下:


$ sudo ./demo-aws-setup.sh


在這里,我們將會(huì)在以后用到這些實(shí)例的 IP 地址。這些地址儲(chǔ)存在一個(gè) weavedemo.env 文件中,這個(gè)文件創(chuàng)建于執(zhí)行 demo-aws-setup.sh 腳本期間。為了獲取這些 IP 地址,我們需要執(zhí)行下面的命令,命令輸出類似下面的信息。

復(fù)制代碼

代碼如下:


$ cat weavedemo.env
export WEAVE_AWS_DEMO_HOST1=52.26.175.175
export WEAVE_AWS_DEMO_HOST2=52.26.83.141
export WEAVE_AWS_DEMO_HOSTCOUNT=2
export WEAVE_AWS_DEMO_HOSTS=(52.26.175.175 52.26.83.141)


請(qǐng)注意這些不是固定的 IP 地址,AWS 會(huì)為我們的實(shí)例動(dòng)態(tài)地分配 IP 地址。

 

我們?cè)?bash 下執(zhí)行下面的命令使環(huán)境變量生效。

 

復(fù)制代碼

代碼如下:

. ./weavedemo.env


2. 啟動(dòng) Weave 和 WeaveDNS
在安裝完實(shí)例之后,我們將會(huì)在每臺(tái)主機(jī)上啟動(dòng) weave 以及 weavedns。Weave 以及 weavedns 使得我們能夠輕易地將容器部署到一個(gè)全新的基礎(chǔ)架構(gòu)以及配置中, 不需要改變代碼,也不需要去理解像 Ambassador 容器以及 Link 機(jī)制之類的概念。下面是在第一臺(tái)主機(jī)上啟動(dòng) weave 以及 weavedns 的命令。

復(fù)制代碼

代碼如下:


ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST1
$ sudo weave launch
$ sudo weave launch-dns 10.2.1.1/24


下一步,我也準(zhǔn)備在第二臺(tái)主機(jī)上啟動(dòng) weave 以及 weavedns。

復(fù)制代碼

代碼如下:


ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST2
$ sudo weave launch $WEAVE_AWS_DEMO_HOST1
$ sudo weave launch-dns 10.2.1.2/24


3. 啟動(dòng)應(yīng)用容器
現(xiàn)在,我們準(zhǔn)備跨兩臺(tái)主機(jī)啟動(dòng)六個(gè)容器,這兩臺(tái)主機(jī)都用 Apache2 Web 服務(wù)實(shí)例跑著簡(jiǎn)單的 php 網(wǎng)站。為了在第一個(gè) Apache2 Web 服務(wù)器實(shí)例跑三個(gè)容器, 我們將會(huì)使用下面的命令。

復(fù)制代碼

代碼如下:


ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST1
$ sudo weave run --with-dns 10.3.1.1/24 -h ws1.weave.local fintanr/weave-gs-nginx-apache
$ sudo weave run --with-dns 10.3.1.2/24 -h ws2.weave.local fintanr/weave-gs-nginx-apache
$ sudo weave run --with-dns 10.3.1.3/24 -h ws3.weave.local fintanr/weave-gs-nginx-apache


在那之后,我們將會(huì)在第二個(gè)實(shí)例上啟動(dòng)另外三個(gè)容器,請(qǐng)使用下面的命令。

復(fù)制代碼

代碼如下:


ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST2
$ sudo weave run --with-dns 10.3.1.4/24 -h ws4.weave.local fintanr/weave-gs-nginx-apache
$ sudo weave run --with-dns 10.3.1.5/24 -h ws5.weave.local fintanr/weave-gs-nginx-apache
$ sudo weave run --with-dns 10.3.1.6/24 -h ws6.weave.local fintanr/weave-gs-nginx-apache


注意: 在這里,--with-dns 選項(xiàng)告訴容器使用 weavedns 來解析主機(jī)名,-h x.weave.local 則使得 weavedns 能夠解析該主機(jī)。

 

4. 啟動(dòng) Nginx 容器
在應(yīng)用容器如預(yù)期的運(yùn)行后,我們將會(huì)啟動(dòng) nginx 容器,它將會(huì)在六個(gè)應(yīng)用容器服務(wù)之間輪詢并提供反向代理或者負(fù)載均衡。 為了啟動(dòng) nginx 容器,請(qǐng)使用下面的命令。
 

復(fù)制代碼

代碼如下:


ssh -i weavedemo-key.pem ubuntu@$WEAVE_AWS_DEMO_HOST1
$ sudo weave run --with-dns 10.3.1.7/24 -ti -h nginx.weave.local -d -p 80:80 fintanr/weave-gs-nginx-simple


因此,我們的 nginx 容器在 $WEAVEAWSDEMO_HOST1 上公開地暴露成為一個(gè) http 服務(wù)器。

 

5. 測(cè)試負(fù)載均衡服務(wù)器
為了測(cè)試我們的負(fù)載均衡服務(wù)器是否可以工作,我們執(zhí)行一段可以發(fā)送 http 請(qǐng)求給 nginx 容器的腳本。我們將會(huì)發(fā)送6個(gè)請(qǐng)求,這樣我們就能看到 nginx 在一次的輪詢中服務(wù)于每臺(tái) web 服務(wù)器之間。
 

復(fù)制代碼

代碼如下:


$ ./access-aws-hosts.sh
{
"message" : "Hello Weave - nginx example",
"hostname" : "ws1.weave.local",
"date" : "2015-06-26 12:24:23"
}
{
"message" : "Hello Weave - nginx example",
"hostname" : "ws2.weave.local",
"date" : "2015-06-26 12:24:23"
}
{
"message" : "Hello Weave - nginx example",
"hostname" : "ws3.weave.local",
"date" : "2015-06-26 12:24:23"
}
{
"message" : "Hello Weave - nginx example",
"hostname" : "ws4.weave.local",
"date" : "2015-06-26 12:24:23"
}
{
"message" : "Hello Weave - nginx example",
"hostname" : "ws5.weave.local",
"date" : "2015-06-26 12:24:23"
}
{
"message" : "Hello Weave - nginx example",
"hostname" : "ws6.weave.local",
"date" : "2015-06-26 12:24:23"
}


結(jié)束語
我們最終成功地將 nginx 配置成一個(gè)反向代理/負(fù)載均衡服務(wù)器,通過使用 weave 以及運(yùn)行在 AWS(Amazon Web Service)EC2 里面的 ubuntu 服務(wù)器中的 docker。從上面的步驟輸出可以清楚的看到我們已經(jīng)成功地配置了 nginx。我們可以看到請(qǐng)求在一次輪詢中被發(fā)送到6個(gè)應(yīng)用容器,這些容器在 Apache2 Web 服務(wù)器中跑著 PHP 應(yīng)用。在這里,我們部署了一個(gè)容器化的 PHP 應(yīng)用,使用 nginx 橫跨多臺(tái)在 AWS EC2 上的主機(jī)而不需要改變代碼,利用 weavedns 使得每個(gè)容器連接在一起,只需要主機(jī)名就夠了,眼前的這些便捷, 都要?dú)w功于 weave 以及 weavedns。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 91中文字幕在线 | 欧美精品在线免费观看 | 亚洲人成在线播放 | 亚洲天堂一区二区 | 91在线一区二区 | 欧美在线观看www | 国产精品亚洲视频 | 成人性做爰av片免费看 | 一区二区三区在线 | 自拍在线 | 国产精品久久久久一区二区三区 | 黄色小网站在线观看 | 国内精品久久久久久久影视简单 | 91精品一区二区 | 日韩在线视频中文字幕 | 国产精品久久久久久亚洲调教 | 欧美福利在线 | 亚洲综合自拍 | 一级久久 | 久草福利在线视频 | 国产三级黄色毛片 | 日本久久影视 | 香蕉大人久久国产成人av | 色视频在线免费观看 | 精品国产黄a∨片高清在线 91精品国产91久久久 | 91成人精品 | 国产伦精品一区二区三区四区视频 | 91久久 | 午夜视频一区二区三区 | 另类久久 | 亚洲国产精品视频一区二区三区 | 亚洲视频在线免费观看 | 成人精品一区二区三区中文字幕 | 亚洲字幕| 免费一二区| 日韩中文字幕在线 | а√天堂中文在线资源8 | 免费黄色网页 | 秒播av | 九色在线观看 | 天天操天天拍 |