docker容器Nginx配置upstream实现负载均衡,为docker容器添加负载均衡

Nginx作为当前最风靡的负荷均衡和反向代理服务器,它运维在linux平台,一般的.net网址,为了达成分散与负载,需求在八个应用服务器的IIS上铺排,通过一些工具完毕代码的协同,然后再nginx上去配置它们.
有了docker,你能够在三个linux上花个1秒钟去run它就能够,不用在iis上配备了,对于docker来讲,nginx安插更有益于!
下边看一下正式的Nginx的配备文件
图片 1

nginx~为docker容器加多负载均衡,nginxdocker

docker容器Nginx配置upstream实现负载均衡,为docker容器添加负载均衡。Nginx作为当下最风靡的负载均衡和反向代理服务器,它运维在linux平台,一般的.net网址,为了兑现分流与负载,须求在三个应用服务器的IIS上配置,通过有个别工具达成代码的一块,然后再nginx上去配置它们.
有了docker,你能够在多个linux上花个一秒钟去run它就可以,不用在iis上布置了,对于docker来讲,nginx安顿更有利!
下边看一下正式的Nginx的布局文件
图片 2

小编们可认为种种网址增多1个conf的安顿文件,然后nginx加载时会include它们的,你无需关切,呵呵,看一下他们的科班内容

server {
    listen 8080;
    server_name localhost;
    location / {
    proxy_pass http://api;
    proxy_set_header Host $host:8080;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

upstream api{
      server 192.168.200.108:5000 weight=1;
      server 192.168.200.108:5001 weight=1;#比重高
}

server节点首要配置网址的连带音信,当中proxy_pass是网址对外访问的域名和端口,当有upstream节点后,它便是其一节点的称呼,listen是监听的端口!

upstream节点是网站的载荷均衡的音讯,集群中有多少个站点就设置有个别个就可以,当然,那一个网址之间的数目同步我们nginx是不管的!

当应用程序出现难点时,我们能够查看日志文件,access.log和error.log,如下目录

图片 3

它们会记录哪些客户端在几时访问了笔者们的网址,访问的是什么负载的网址等等,日志新闻仍旧比较实用的,用来之后举办多少解析!

图片 4

最后多谢各位的翻阅!

指望本小说对大家持有支持!

 

Nginx作为当前最流行的负荷均衡和反向代理服务器,它运转在linux平台,一般的.net网址,为了兑现分流…

github

大家得以为种种网址增添3个conf的陈设文件,然后nginx加载时会include它们的,你无需关切,呵呵,看一下他们的职行业内部容

目录

├── baseimg                                   基础镜像
│   └── Dockerfile
├── docker-compose                            docker-compose
│   ├── docker-compose.yml
│   ├── nginx-php-sites-available
│   │   └── default
│   └── nginx-sites-available
│       └── default
├── nginx                                      nginx镜像
│   ├── Dockerfile
│   ├── sites-enabled
│   └── supervisor_nginx.conf
├── nginx-php                                  nginx+php-fpm镜像
│   ├── Dockerfile
│   ├── sites-enabled
│   ├── supervisor_nginx.conf
│   └── supervisor_php5-fpm.conf
server {
    listen 8080;
    server_name localhost;
    location / {
    proxy_pass http://api;
    proxy_set_header Host $host:8080;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

upstream api{
      server 192.168.200.108:5000 weight=1;
      server 192.168.200.108:5001 weight=1;#比重高
}

baseimg基础镜像

Dockerfile

FROM debian

MAINTAINER huangyaokui <451722619@qq.com>

ENV TERM xterm
ENV TZ "Asia/Shanghai"

RUN apt-get update && \
    apt-get install -qqy vim supervisor && \
    rm -rf /var/lib/apt/lists/*

EXPOSE  22

ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"]  

docker build -t=’debian/baseimg:0.1′ .


server节点首要布局网址的有关音讯,个中proxy_pass是网址对外访问的域名和端口,当有upstream节点后,它便是以此节点的称谓,listen是监听的端口!

nginx镜像

FROM debian/baseimg:0.1

MAINTAINER kui <451722619@qq.com>

RUN apt-get update && \
 apt-get install -y nginx && \
 rm -rf /var/lib/apt/lists/*

EXPOSE 80 443

ADD supervisor_nginx.conf /etc/supervisor/conf.d/nginx.conf

VOLUME ["/var/www/html", "/etc/nginx/sites-enabled"]

docker build -t=’debian/nginx:0.1′ .