[nginx]azure上使用docker配置负载均衡及运维心得

栏目: 编程工具 · 发布时间: 8年前

内容简介:[nginx]azure上使用docker配置负载均衡及运维心得

[nginx]azure上使用 <a href='https://www.codercto.com/topics/20577.html'>docker</a> 配置负载均衡及运维心得

起因

最近阿里的费用消耗过高,所以打算从阿里迁移到有一定的优惠的azure china上,其实我本人是抗拒的

一,azure 的生态还不够完善,比如类似阿里的容器系统,一键部署的服务都得自己用k8s,或者swarm进行控制统一部署

二,部署时会有和种安全性的配置,还需要去里面自己管理平台进行设置

其它的就没什么特别的问题了,和正常的ubuntu使用没有太大的区别

准备

  • docker
  • docker-compose
  • nginx镜像
    安装docker ,使用python pip 安装docker-compose ,装备nginx 镜像

场景

  • 有一台主机器 A
  • 若干从机B,C,D,E,F
  • 开放主机3001 的http端口,转发到从机的,3301这样可以实现负载均衡,统一一个入口点,当然,负载的策略可以根据自己的需要来,具体可以查查nginx weight 的关键字

使用

准备我们的nginx 的应用配置文件 appfirst.conf

upstream appfirst {
    server 10.0.0.4:3301;
    server 10.0.0.5:3301;
    server 10.0.0.7:3301;
    server 10.0.0.8:3301;
    server 10.0.0.9:3301;
}
 
server {
    listen 3301;
 
    # The host name to respond to
    server_name appfirst;
 
    location / {
        proxy_pass http://appfirst/$1$is_args$args;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Real-Port $server_port;
        proxy_set_header X-Real-Scheme $scheme;
    }
}
 

在upsteam里面,填入的就是我们实际的B,C,D,E,F appfirst 应用内网地址,如果你有多个应用需要转发,可以类似的编写appsecond.conf …等等

在同目录下编写 docker-compose.yml 文件,内容如下

proxy:
    image: nginx
    ports:
        - "3301:3301"
        #- "3302:3303"
        #- "3303:3303"
    volumes:
        - "./appfirst.conf:/etc/nginx/conf.d/appfirst.conf"
        #- "./appsecond.conf:/etc/nginx/conf.d/appsecond.conf"
        #- "./appthird.conf:/etc/nginx/conf.d/appthird.conf"
 

Ok ,准备工作都做完了,将docker-compose.yml,appfirst.conf等放在同一个目录 ,使用如下命令

sudo docker-compose up -d 
 

将接下来就可以看到使用docker-compose 的nginx的负载均衡就完成了


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Principles of Object-Oriented JavaScript

Principles of Object-Oriented JavaScript

Nicholas C. Zakas / No Starch Press / 2014-2 / USD 24.95

If you've used a more traditional object-oriented language, such as C++ or Java, JavaScript probably doesn't seem object-oriented at all. It has no concept of classes, and you don't even need to defin......一起来看看 《Principles of Object-Oriented JavaScript》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具