亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

使用nginx模擬進行藍綠部署的方式

2024-08-30 12:30:08
字體:
來源:轉載
供稿:網友

這篇文章介紹一下藍綠部署以及使用nginx如何最簡單地模擬一下藍綠部署的方式

藍綠部署

藍綠部署的重點在于如下特點

  • 1. 藍色版本和綠色版本同時存在
  • 2. 實際運行的環境為藍或則綠,只能為其中之一,通過開關控制

優點和缺點分析:優點在于它的速度和回滾。而缺點也顯而易見??梢钥焖倩貪L是因為有兩套環境同時存在的緣故,所以復雜度和需要的資源會增多,因為其有兩套環境。 
另外雖然速度有所提高,但是在實現的過程中,開關的控制,無論多快的切換速度,如果不結合其他的技術,還是無法做到完全無縫切換。

模擬藍綠部署

接下來我們使用nginx的upstream來簡單模擬一下藍綠部署的場景。具體場景如下, 當前活躍的是藍色版本,通過調整nginx設定,將綠色版本設定為當前活躍版本。

nginx,模擬,藍綠部署

事前準備

事前在7001/7002兩個端口分別啟動兩個服務,用于顯示不同信息,為了演示方便,使用tornado做了一個鏡像,通過docker容器啟動時傳遞的參數不同用于顯示服務的不同。

docker run -d -p 7001:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello blue/green service: v1 in 7001"docker run -d -p 7002:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello blue/green service: v2 in 7002"

執行日志

[root@kong ~]# docker run -d -p 7001:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello blue/green service: v1 in 7001"70c74dc8e43d5635983f7240deb63a3fc0599d5474454c3bc5197aa5c0017348[root@kong ~]# docker run -d -p 7002:8080 liumiaocn/tornado:latest python /usr/local/bin/daemon.py "Hello blue/green service: v2 in 7002"6c5c2ea322d4ac17b90feefb96e3194ec8adecedaa4c944419316a2e4bf07117[root@kong ~]# curl http://192.168.163.117:7001Hello, Service :Hello blue/green service: v1 in 7001[root@kong ~]# curl http://192.168.163.117:7002Hello, Service :Hello blue/green service: v2 in 7002[root@kong ~]#

啟動nginx

[root@kong ~]# docker run -p 9080:80 --name nginx-blue-green -d nginxd3b7098c44890c15918dc47616b67e5e0eb0da7a443eac266dbf26d55049216a[root@kong ~]# docker ps |grep nginx-blue-greend3b7098c4489    nginx           "nginx -g 'daemon ..."  10 seconds ago    Up 9 seconds    0.0.0.0:9080->80/tcp   nginx-blue-green[root@kong ~]#

nginx代碼段

準備如下nginx代碼段將其添加到nginx的/etc/nginx/conf.d/default.conf中, 模擬方式很簡單,通過down來表示流量為零(nginx中無法將weight設置為零),開始的時候100%的流量都發到藍色版本。

http {upstream nginx_blug_green {  server 192.168.163.117:7001 weight=100;  server 192.168.163.117:7002 down;}server {  listen    80;  server_name www.liumiao.cn 192.168.163.117;  location / {    proxy_pass http://nginx_blug_green;  }}

修改default.conf的方法

可以通過在容器中安裝vim達到效果,也可以在本地修改然后通過docker cp傳入,或者直接sed修改都可。如果在容器中安裝vim,使用如下方式即可

[root@kong ~]# docker exec -it nginx-lb sh# apt-get update...省略# apt-get install vim...省略

修改前

# cat default.confserver {  listen    80;  server_name localhost;  #charset koi8-r;  #access_log /var/log/nginx/host.access.log main;  location / {    root  /usr/share/nginx/html;    index index.html index.htm;  }  #error_page 404       /404.html;  # redirect server error pages to the static page /50x.html  #  error_page  500 502 503 504 /50x.html;  location = /50x.html {    root  /usr/share/nginx/html;  }  # proxy the PHP scripts to Apache listening on 127.0.0.1:80  #  #location ~ /.php$ {  #  proxy_pass  http://127.0.0.1;  #}  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  #  #location ~ /.php$ {  #  root      html;  #  fastcgi_pass  127.0.0.1:9000;  #  fastcgi_index index.php;  #  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;  #  include    fastcgi_params;  #}  # deny access to .htaccess files, if Apache's document root  # concurs with nginx's one  #  #location ~ //.ht {  #  deny all;  #}}#

修改后

# cat default.confupstream nginx_blug_green {  server 192.168.163.117:7001 weight=100;  server 192.168.163.117:7002 down;}server {  listen    80;  server_name www.liumiao.cn 192.168.163.117;  #charset koi8-r;  #access_log /var/log/nginx/host.access.log main;  location / {    #root  /usr/share/nginx/html;    #index index.html index.htm;    proxy_pass http://nginx_blug_green;  }  #error_page 404       /404.html;  # redirect server error pages to the static page /50x.html  #  error_page  500 502 503 504 /50x.html;  location = /50x.html {    root  /usr/share/nginx/html;  }  # proxy the PHP scripts to Apache listening on 127.0.0.1:80  #  #location ~ /.php$ {  #  proxy_pass  http://127.0.0.1;  #}  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  #  #location ~ /.php$ {  #  root      html;  #  fastcgi_pass  127.0.0.1:9000;  #  fastcgi_index index.php;  #  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;  #  include    fastcgi_params;  #}  # deny access to .htaccess files, if Apache's document root  # concurs with nginx's one  #  #location ~ //.ht {  #  deny all;  #}}#

重新加載nginx設定

# nginx -s reload2018/05/28 04:39:47 [notice] 321#321: signal process started#

確認結果

10次調用全部輸出的都是v1 in 7001

[root@kong ~]# cnt=0; while [ $cnt -lt 10 ]
> do
> curl http://localhost:9080
> let cnt++
> done
Hello, Service :Hello blue/green service: v1 in 7001
Hello, Service :Hello blue/green service: v1 in 7001
Hello, Service :Hello blue/green service: v1 in 7001
Hello, Service :Hello blue/green service: v1 in 7001
Hello, Service :Hello blue/green service: v1 in 7001
Hello, Service :Hello blue/green service: v1 in 7001
Hello, Service :Hello blue/green service: v1 in 7001
Hello, Service :Hello blue/green service: v1 in 7001
Hello, Service :Hello blue/green service: v1 in 7001
Hello, Service :Hello blue/green service: v1 in 7001
[root@kong ~]#

藍綠部署:切換到綠色版本

通過調整default.conf的weight,然后執行nginx -s reload的方式,在不停止nginx服務的方式下可動態的切換到綠色版本,目標將會將全部的流量都輸出v2 in 7002

修改default.conf的方法

只需要將upstream中的server的權重做如下調整:

upstream nginx_blug_green {  server 192.168.163.117:7001 down;  server 192.168.163.117:7002 weight=100;}

重新加載nginx設定

# nginx -s reload2018/05/28 05:01:28 [notice] 330#330: signal process started#

確認結果

[root@kong ~]# cnt=0; while [ $cnt -lt 10 ]; do curl http://localhost:9080; let cnt++; done
Hello, Service :Hello blue/green service: v2 in 7002
Hello, Service :Hello blue/green service: v2 in 7002
Hello, Service :Hello blue/green service: v2 in 7002
Hello, Service :Hello blue/green service: v2 in 7002
Hello, Service :Hello blue/green service: v2 in 7002
Hello, Service :Hello blue/green service: v2 in 7002
Hello, Service :Hello blue/green service: v2 in 7002
Hello, Service :Hello blue/green service: v2 in 7002
Hello, Service :Hello blue/green service: v2 in 7002
Hello, Service :Hello blue/green service: v2 in 7002
[root@kong ~]#

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性高潮床叫视频| 成人免费大片黄在线播放| 国产精品爱久久久久久久| 国产91成人在在线播放| 伊是香蕉大人久久| 一个人看的www欧美| www.亚洲男人天堂| 亚洲女人天堂av| 亚洲一区二区三区777| 日韩欧美在线视频日韩欧美在线视频| 91九色蝌蚪国产| 欧美巨乳美女视频| 欧美成人黑人xx视频免费观看| 尤物99国产成人精品视频| 国产精品久久久久久av下载红粉| 51午夜精品视频| 91网站免费看| 国产精品视频99| 日韩在线视频免费观看高清中文| 久久精视频免费在线久久完整在线看| 亚洲天堂av图片| 狠狠色狠狠色综合日日小说| 日韩av电影手机在线观看| 久久人人爽人人爽爽久久| 日韩激情av在线播放| 精品高清美女精品国产区| 欧洲亚洲女同hd| 国产精品狠色婷| 91丝袜美腿美女视频网站| 日韩欧美在线视频观看| 久久999免费视频| 欧美精品亚州精品| 久久国产加勒比精品无码| 欧美人与物videos| 欧美在线播放视频| 亚洲jizzjizz日本少妇| 国产精品视频免费观看www| 日韩免费在线免费观看| 亚洲一区二区三区四区在线播放| 亚洲精品视频网上网址在线观看| 91免费观看网站| 欧美性猛交xxxx免费看| 久久91精品国产| 亚洲一级片在线看| 国产精品久久久久久av福利软件| 欧日韩不卡在线视频| 琪琪亚洲精品午夜在线| 成人黄色av网站| 国产精品国产亚洲伊人久久| 精品久久国产精品| 午夜精品久久久久久久99热| 久久精品国产成人精品| 国产亚洲欧美另类中文| 日韩在线中文视频| 在线精品91av| 日韩av在线导航| 亚洲天堂日韩电影| 国内外成人免费激情在线视频| 57pao成人国产永久免费| 国产成人涩涩涩视频在线观看| 日韩av观看网址| 国产亚洲精品久久久| 国产视频精品xxxx| 在线观看国产精品日韩av| 久久久电影免费观看完整版| 欧美大全免费观看电视剧大泉洋| 国产精品久久久久久久久久久久久| 欧美体内谢she精2性欧美| 91视频8mav| 在线播放国产一区二区三区| 国产精品成久久久久三级| 在线视频欧美日韩精品| 久久国产精品偷| 日韩欧美在线一区| 中文字幕一区日韩电影| 欧洲精品在线视频| 日韩视频在线一区| 日韩精品在线免费播放| 国产成人免费91av在线| 久久综合色影院| 91免费精品国偷自产在线| 色系列之999| 亚洲精品视频久久| 亚洲精品少妇网址| 国产一区二区精品丝袜| 欧美精品久久久久| 国产伦精品一区二区三区精品视频| www.亚洲男人天堂| 亚洲天堂男人天堂女人天堂| 日韩国产一区三区| 亚洲国产精品yw在线观看| 亚洲电影在线看| 国产免费一区二区三区在线能观看| 九九视频这里只有精品| 欧美激情xxxx性bbbb| 成人午夜黄色影院| 日韩乱码在线视频| 92看片淫黄大片看国产片| 精品久久久久人成| 亚洲成人精品久久| 亚洲电影免费观看高清| 亚洲人在线视频| 欧美精品电影免费在线观看| 久久精品一区中文字幕| 亚洲自拍小视频| 亚洲精品国产拍免费91在线| 久久好看免费视频| 亚洲国产成人精品女人久久久| 成人做爰www免费看视频网站| 国产成人综合精品| 深夜精品寂寞黄网站在线观看| 国产日本欧美一区| 国产精品极品美女粉嫩高清在线| 亚洲精品欧美一区二区三区| 91精品国产综合久久久久久久久| 国产中文字幕日韩| 国产一区二区av| 欧美视频一区二区三区…| 亚洲欧洲日韩国产| 中文字幕欧美精品日韩中文字幕| 国产精品ⅴa在线观看h| 欧美亚洲日本黄色| 欧美成人激情视频免费观看| 最近中文字幕2019免费| 日韩欧美精品免费在线| 日韩中文字幕视频| 中文字幕亚洲欧美一区二区三区| 日韩电影视频免费| 久久在精品线影院精品国产| 亚洲天堂男人天堂女人天堂| 久久久久久美女| 日韩中文在线不卡| 国产精品www网站| 国产日韩视频在线观看| 国产不卡精品视男人的天堂| 亚洲视频免费一区| 日韩av电影在线免费播放| 国产精品狼人色视频一区| 日韩福利在线播放| 97国产成人精品视频| 国产一区二区在线免费| 宅男66日本亚洲欧美视频| 日韩福利视频在线观看| 亚洲一区二区在线| 亚洲第一网站男人都懂| 日韩午夜在线视频| 欧美日韩激情美女| 久久久久久有精品国产| 亚洲片国产一区一级在线观看| 日韩在线观看免费高清完整版| 欧美激情视频播放| 久久久久久久久久久网站| 97久久精品在线| 亚洲成人久久一区| 国产精品免费一区二区三区都可以| 国产一区二区三区在线播放免费观看| 国内精品伊人久久| 亚洲精品欧美日韩| 亚洲人成绝费网站色www| 亚洲欧洲午夜一线一品| 国模私拍视频一区| 91av国产在线| 国产福利精品在线| 亚洲另类xxxx|