zoukankan      html  css  js  c++  java
  • Docker中nginx+tomcat实现负载均衡

    拉取tomcat镜像

    docker pull tomcat 

    运行两个tomcat容器

    docker run -d -p 8088:8080 --name tomcat8088 tomcat
    docker run -d -p 8089:8080 --name tomcat8089 tomcat

    修改下index.jsp把两个tomcat区别开来

    docker ps
    docker exec -it 01c626690608 /bin/bash cd webapps/ROOT/ echo "<h1>Apache Tomcat 8088</h1>" >index.jsp
    cat index.jsp
    exit
    docker restart 01c626690608
    echo "test" >index.jsp  替换index.jsp的内容
    echo "test" >>index.jsp 在文件末尾追加内容

    另外一个也是一样的

    获取nginx镜像

    docker pull nginx
    创建目录
    mkdir -p /data/nginx/{conf,conf.d,html,logs}
    创建配置文件nginx.conf
    vim /data/nginx/conf/nginx.conf
    编辑内容
    # For more information on configuration, see:
    #   * Official English Documentation: http://nginx.org/en/docs/
    #   * Official Russian Documentation: http://nginx.org/ru/docs/
    
    user nginx;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    # Load dynamic modules. See /usr/share/nginx/README.dynamic.
    include /usr/share/nginx/modules/*.conf;
    
    events {
        worker_connections 1024;
    }
    
    http {
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        # Load modular configuration files from the /etc/nginx/conf.d directory.
        # See http://nginx.org/en/docs/ngx_core_module.html#include
        # for more information.
        include /etc/nginx/conf.d/*.conf;
    
        server {
            listen       80 default_server;
            listen       [::]:80 default_server;
            server_name  192.168.1.4;
            root         /usr/share/nginx/html;
    
            # Load configuration files for the default server block.
            include /etc/nginx/default.d/*.conf;
    
            location / {
            proxy_pass http://pic; 
            }
    
            error_page 404 /404.html;
                location = /40x.html {
            }
    
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }
    
        upstream pic{
                    server 192.168.1.4:8088 weight=5;
                    server 192.168.1.4:8089 weight=5;
        }
    
    }
    
    
    创建nginx容器
    docker run --name mynginx -d -p 80:80  -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx
    访问页面
    --

    至此nginx负载均衡已完成。


  • 相关阅读:
    win中使用curl上传文件报错
    S2-052
    S2-048
    S2-045、S2-046
    S2-033、S2-037
    S2-032
    S2-029
    day12-python之深灰魔法
    day10-11-python基础之字符串
    day09-python基础
  • 原文地址:https://www.cnblogs.com/reasonzzy/p/11365081.html
Copyright © 2011-2022 走看看