前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker下Nginx+Tomcat实现负载均衡

Docker下Nginx+Tomcat实现负载均衡

作者头像
菲宇
发布2019-06-12 12:08:16
1.6K0
发布2019-06-12 12:08:16
举报
文章被收录于专栏:菲宇菲宇

本文介绍在Docker上配置负载均衡,启动一个nginx容器,三个tomcat容器。

结构如下:

配置步骤

1.在宿主机上安装docker并启动,请参照Centos7安装Docker最新版

2.拉取nginx、tomcat镜像,默认拉取最新的

docker pull tomcat
docker pull nginx

3.启动tomcat镜像并创建新首页

docker run -d -p 8081:8080 --name tomcat1 tomcat
docker run -d -p 8082:8080 --name tomcat2 tomcat
docker run -d -p 8083:8080 --name tomcat3 tomcat

配置新首页

vi index.jsp

this is tomcat1

三个容器分别执行

docker cp index.jsp tomcat1:/usr/local/tomcat/webapps/ROOT/index.jsp
docker cp index.jsp tomcat2:/usr/local/tomcat/webapps/ROOT/index.jsp
docker cp index.jsp tomcat3:/usr/local/tomcat/webapps/ROOT/index.jsp

4.准备nginx.conf配置文件

user  nginx;
worker_processes  1;
 
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
 
    server {
                listen 80;
                location  / {
                        proxy_pass http://blance;
                }
        }
 
    upstream blance{
            server 192.168.0.130:8081;
            server 192.168.0.130:8082;
            server 192.168.0.130:8083;
    }
 
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
 
    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;
 
    keepalive_timeout  65;
 
    #gzip  on;
 
    include /etc/nginx/conf.d/*.conf;
}

其中一下为默认配置新增部分

    server {
                listen 80;
                location  / {
                        proxy_pass http://blance;
                }
        }
 
    upstream blance{
            server 192.168.0.130:8081;
            server 192.168.0.130:8082;
            server 192.168.0.130:8083;
    }

5.启动nginx容器

docker run -p 82:80 --name nginx1 -v /src/nginx/nginx.conf:/etc/nginx/nginx.conf -d nginx

6.检查上述容器是否正常启动,并关闭防火墙或者开启82、8081、8082、8083端口

7.测试

如上述都正确配置,即可进行测试

[root@kube-master ~]# while true; do wget -O - -q http://192.168.0.130:82;sleep 3; done
this is tomcat3
this is tomcat2
this is tomcat1
this is tomcat3
this is tomcat2

出现如上,说明设置成功。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年07月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档