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

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

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識(shí)|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - Nginx - 使用Nginx實(shí)現(xiàn)服務(wù)器中多容器共存的方法

使用Nginx實(shí)現(xiàn)服務(wù)器中多容器共存的方法

2019-12-28 14:58mrr Nginx

這篇文章主要介紹了使用Nginx實(shí)現(xiàn)服務(wù)器中多容器共存的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

背景

有一臺(tái)騰訊的Linux云主機(jī),在服務(wù)器上部署了一個(gè)docker(稱為ServiceDocker,名稱為sign,下同),ServiceDocker內(nèi)部使用了80、443、3306端口,分別映射到宿主機(jī)(云主機(jī))的相同端口(即80、443、3306)。

ServiceDocker中安裝了XAMPP,在此基礎(chǔ)上部署了掃碼簽到小程序的服務(wù)器。ServiceDocker的80和443端口分別提供http和https服務(wù),3306為MySQL數(shù)據(jù)庫的端口。

ServiceDocker綁定了域名sign.famend.cn。

目標(biāo)

云主機(jī)中的一個(gè)ServiceDocker占用了80、443端口,如果想在主機(jī)中再部署一臺(tái)服務(wù)器對(duì)外服務(wù),就不能使用80和443端口了。

我們的目標(biāo)是在主機(jī)中可以部署多個(gè)ServiceDocker,每個(gè)ServiceDocker綁定各自的域名,對(duì)外提供服務(wù),保證80和443端口可用。

思路

修改ServiceDocker的端口映射,把ServiceDocker端口80、443分別映射到主機(jī)的89、449端口,這樣主機(jī)的80、443端口釋放出來了。

釋放出來的80和443端口供Nginx使用。安裝帶Nginx的docker(稱為NginxDocker,名稱為mynginx,下同)。NginxDocker內(nèi)部使用端口80、443,分別映射到主機(jī)的80和443端口。

NginxDocker用來做反向代理。當(dāng)有訪問請(qǐng)求時(shí),讀取Nginx配置后,不同的URL定向到各自對(duì)應(yīng)的Docker。例如:訪問http://sign.famend.cn:80,則自動(dòng)映射到http://sign.famend.cn:89。

實(shí)現(xiàn)步驟

1. 修改ServiceDocker的端口映射,釋放80和443端口。

Docker沒有提供命令修改端口,從網(wǎng)上我找到了2種方法。

方法1:先停止容器,再將容器打包成鏡像,接著運(yùn)行新的鏡像。在運(yùn)行新的鏡像時(shí)指定新的端口。使用的命令如下:

?
1
2
3
4
5
6
#先停止容器
docker stop containerA
#將容器commit成為一個(gè)鏡像
docker commit containerA newImageB
#運(yùn)行容器
docker run -p 8080:8080 -p 8081:8081 -v /home/data/:/home/data/ -dt newImageB

方法2:先停止容器,接著停止容器服務(wù),然后修改容器配置文件,最后啟動(dòng)容器服務(wù)、啟動(dòng)容器。步驟如下:

①停止ServiceDocker(ServiceDocker的名稱為sign),停止docker服務(wù)。

?
1
2
sudo docker stop sign
sudo service docker stop

②使用 docker ps -a 命令找到要修改容器的 CONTAINER ID。

③運(yùn)行 docker inspect 【CONTAINER ID】 | grep Id 命令。

④執(zhí)行 cd /var/lib/docker/containers 命令令進(jìn)入找到與 Id 相同的目錄。

在執(zhí)行cd 命令時(shí)如果提示permission denied,可以先執(zhí)行 sudo -s。

進(jìn)入id對(duì)應(yīng)的目錄后,打開文件hostconfig.json。

找到80端口的映射,如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}]
 
"HostPort": "80" 修改成 "HostPort": "89" , 如下
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "89"
}]

修改之前,ServiceDocker內(nèi)部的80端口映射為主機(jī)的80端口;修改之后,ServiceDocker內(nèi)部的80端口映射為主機(jī)的89端口。

稍加說明,有文章(參考資料中的2、3)提到還需要修改config.v2.json,親測不需要。這個(gè)文件在啟動(dòng)ServiceDocker時(shí)會(huì)自動(dòng)修改。

⑤啟動(dòng)docker服務(wù),然后啟動(dòng)ServiceDocker(名稱為sign)。

?
1
2
sudo service docker start
sudo docker start sign

方法(1)和方法(2)都可以,我選用了方法(2)。

在執(zhí)行完方法(2)之后,打開瀏覽器驗(yàn)證,提示“網(wǎng)站無法訪問”。

初步估計(jì)docker中的服務(wù)器沒有啟動(dòng),運(yùn)行命令:

?
1
2
sudo /opt/lampp/lampp stop
sudo /opt/lampp/lampp start

運(yùn)行stop的時(shí)候,發(fā)現(xiàn)apache 沒有啟動(dòng),可能是修改了80端口的緣故。

在執(zhí)行start之后,打開瀏覽器驗(yàn)證http://sign.famend.cn:89和https://sign.famend.cn:449,成功訪問。

修改Docker端口的方法并不復(fù)雜,如果docker以后的版本能夠提供相應(yīng)命令,相信會(huì)方便很多。

順便,運(yùn)行 crontab -l 查看ServiceDocker中的定時(shí)任務(wù)是否啟動(dòng),如果沒啟動(dòng),運(yùn)行 service cron start 啟動(dòng)定時(shí)任務(wù)。

下一步,配置NginxDocker反向代理,讓http://sign.famend.cn:80和https://sign.famend.cn:443也能成功訪問。

2. 配置NginxDocker反向代理。

①下載nginx,并運(yùn)行它。

?
1
2
3
4
5
6
7
docker container run \
 -d \
 -p 80:80 \
 -p 443:443 \
 --rm \
 --name mynginx \
 nginx

②配置nginx的配置文件。

?
1
2
3
4
mkdir nginx-files
docker container cp mynginx:/etc/nginx .
mv nginx conf
vi conf/nginx.conf

在nginx.conf中,添加如下反向代理信息。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
server{
 listen     443 ssl;
 server_name   sign.famend.cn;
 ssl_certificate /etc/nginx/ssl/sign.famend.cn/1_sign.famend.cn_bundle.crt;
 ssl_certificate_key /etc/nginx/ssl/sign.famend.cn/2_sign.famend.cn.key;
 
 location / {
  proxy_set_header HOST $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_pass http://sign.famend.cn:89/;
 }
}
 
server{
 listen     80;
 server_name   famend.cn sign.famend.cn;
 location / {
  proxy_set_header HOST $host;
  proxy_set_header X-Real-IP $remote_addr:89;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_pass http://sign.famend.cn:89/;
 }
}

對(duì)于443端口,需要使用ssl_certificate和ssl_certificate_key。在ServiceDocker中證書使用的LetsEncrypt的SSL證書,每90天更新一次。

SSL證書的來源:一種方法,可以讓它們共享LetsEncrypt的SSL證書。除此之外,在騰訊注冊(cè)的域名,騰訊免費(fèi)提供SSL證書,有效期為1年。

為了簡便,我直接使用了騰訊的SSL證書,當(dāng)然,一年之內(nèi),必須在過期之前更新證書。

③停止mynginx,然后重啟它。

?
1
2
3
4
5
6
7
docker container run \
 --name mynginx \
 --volume "$PWD/conf":/etc/nginx \
 -p 80:80 \
 -p 443:443 \
 -d \
 nginx

這次,去掉 --rm 參數(shù),以便停止運(yùn)行的時(shí)候保留容器。

至此,配置完成。

驗(yàn)證

瀏覽器中分別打開

?
1
2
3
4
sign.famend.cn:80
sign.famend.cn:89
sign.famend.cn:449
sign.famend.cn:443

都能正常訪問。當(dāng)然,打開449和443時(shí)候,可以發(fā)現(xiàn)兩個(gè)URL使用的證書不一樣。449是LetsEncrypt提供的,有效期90天;443來自騰訊(頒發(fā)機(jī)構(gòu)TrustAsia),有效期1年。

當(dāng)然,ServiceDocker中的另外一個(gè)網(wǎng)站famend.cn,也可以訪問:

famend.cn:80
famend.cn:89

總結(jié)

以上所述是小編給大家介紹的使用Nginx實(shí)現(xiàn)服務(wù)器中多容器共存的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)服務(wù)器之家網(wǎng)站的支持!

原文鏈接:http://server.51cto.com/sOS-584540.htm

延伸 · 閱讀

精彩推薦
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
主站蜘蛛池模板: 狠狠艹av| 欧美日韩不卡在线 | 欧美精品v国产精品v日韩精品 | 久久久一区二区 | 黄色一级大片在线免费看产 | 三a视频 | 精品91| 精品久久久久久久人人人人传媒 | 欧美成人免费在线视频 | 九九热这里只有精品8 | 日本激情视频一区二区三区 | 欧美日韩综合视频 | 久色成人 | 日韩有码av| 久久久久久久av | 日韩欧美成人一区二区三区 | 亚洲视频自拍 | 日韩理论在线 | 国产黄免费在线观看 | 欧美性猛交一区二区三区精品 | 中国一级毛片 | 国产在线精品一区 | 青青草综合 | 免费色视频 | 中文字幕在线精品 | 精品视频国产 | 黄网站色大毛片 | 色的视频网站 | 黄色美女视频网站 | 亚洲高清久久 | 九色 在线 | 欧美国产日韩在线 | 久久精品噜噜噜成人av农村 | 电影在线观看免费 | 香蕉夜色 | 亚洲精品久久 | 久久精品国产久精国产 | 久久av综合网 | 久久国产成人 | 色爱综合网| 四虎永久免费影院 |