【实验: docker搭建Nginx+Tomcat负载均衡】

docker搭建设Nginx+Tomcat负载均衡


目标

  • 使用docker架设三个tomcat应用实例-个nginx实例
  • 通过配置nginx实现三个tomcat应用实例的负载均衡

部署3个tomcat容器

部署3个tomcat容器 并且为了区分应用把tomcat应用部署文件夹映射到宿主机的不同文件夹

  • webapp1 webapp2 webapp3分别对应三个不同tomcat容器的webapps
  • 宿主机的8081,8082,8083分别映射三个容器的8080端口
docker run -d -p 8081:8080 --name tomcat1 -v D:\Web\Tomcat\webapps1:/usr/local/tomcat/webapps/  tomcat:7.0.56
docker run -d -p 8082:8080 --name tomcat2 -v D:\Web\Tomcat\webapps2:/usr/local/tomcat/webapps/ tomcat:7.0.56
docker run -d -p 8083:8080 --name tomcat3 -v D:\Web\Tomcat\webapps3:/usr/local/tomcat/webapps/ tomcat:7.0.56

部署后,宿主机的8081端口对应tomcat1的8080 8082对应tomcat2的8080 8083 对应tomcat3的8080

部署nginx容器实现负载均衡

部署nginx容器开放端口8080映射宿主机8080端口,将配置文件nginx.conf挂载为宿主机的D:\docker\nginx\nginx.conf

docker run -d -p 8080:8080 --name nginx -v D:\docker\nginx\nginx.conf:/etc/nginx/nginx.conf  nginx

nginx容器创建完以后我们可以直接修改宿主机上的D:\docker\nginx\nginx.conf 文件来改动容器中nginx配置

	upstream 192.168.56.100 {
	ip_hash;		#解决session问题
	server 192.168.56.100:8081 weight=1;
	server 192.168.56.100:8082 weight=1;
	server 192.168.56.100:8083 weight=1;
	}
	server {
		listen 80;
		server_name localhost;
		location / {
		proxy_pass http://192.168.56.100;

		}
	}

把默认配置文件http块里的server替换成上面的配置,
** 注意两点 **
1.192.168.56.100替换成你自己的宿主机ip
2.server的proxy_pass配置要和upstream保持一致

测试实验结果

分别在三个webapp的文件夹内创建文件夹ROOT,在ROOT内创建默认测试页面index.html,每个页面分别写入对应1,2,3。

访问宿主机的8080端口http://192.168.56.100:8080 可能需要重启下nginx容器, 不断刷新页面测试结果。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您提供一些关于使用Docker搭建Nginx负载均衡测试环境的指导。 以下是大致步骤: 1. 安装DockerDocker Compose。 2. 创建一个新的Docker Compose文件。在该文件中,我们将定义两个服务:一个Nginx服务和一个Web服务。下面是一个简单的示例: ``` version: '3' services: nginx: image: nginx:latest ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro depends_on: - web web: image: nginx:latest ``` 这里我们使用了官方的Nginx镜像,并将其映射到本地的80端口。我们还定义了一个名为web的服务,它将在Nginx之后启动。 3. 创建一个Nginx配置文件。在上一步中,我们将Nginx配置文件挂载到容器中。因此,我们需要创建一个Nginx配置文件nginx.conf,并将其放置在与Docker Compose文件相同的目录中。以下是一个简单的示例配置文件: ``` worker_processes 1; events { worker_connections 1024; } http { upstream web_backend { server web:80; } server { listen 80; location / { proxy_pass http://web_backend; } } } ``` 在这个配置文件中,我们定义了一个名为web_backend的upstream,它将代理到我们定义的web服务。然后,我们创建了一个Nginx服务器,监听80端口,并将所有请求代理到web_backend上。 4. 启动容器。在Docker Compose文件所在的目录中,运行以下命令启动容器: ``` docker-compose up -d ``` 这将启动两个服务,并将它们连接起来。您现在可以通过访问http://localhost来测试负载均衡器。 希望这些指导对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dangkei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值