docker来测试负载均衡

2020-10-15 18:22:33 阅读:4 编辑
docker-compose.yml
version: "3.7"

services:
  main:
    image: nginx:1.17
    ports:
    - 80:80
    volumes:
    - /opt/www/main.conf:/etc/nginx/conf.d/default.conf
  app1:
    image: nginx:1.17
    ports:
    - 81:80
    volumes:
    - /opt/www/app.conf:/etc/nginx/conf.d/default.conf
    - /opt/www/app1.html:/var/www/myapp/index.html

  app2:
    image: nginx:1.17
    ports:
    - 82:80
    volumes:
    - /opt/www/app.conf:/etc/nginx/conf.d/default.conf
    - /opt/www/app2.html:/var/www/myapp/index.html
app1.html
app1
app2.html
app2
main.conf
upstream backend {
    server app1;
    server app2;
}

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    location / {
        add_header X-Content-Type-Options nosniff;
        proxy_set_header X-Scheme $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_hide_header X-Powered-By;
        proxy_hide_header Vary;

        proxy_pass http://backend;
        proxy_redirect off;
    }

}
app.conf
server {
    server_name _;

    root /var/www/myapp;
    index index.php index.html index.htm;

    access_log /var/log/nginx/front-access.log;
    error_log /var/log/nginx/front-error.log;

}

启动

#启动或修改docker-compose.yml后重启
docker-compose up -d
#重新容器(不修改docker-compose.yml)
docker-compose restart