【Nginx】使用Docker完成Nginx负载均衡+动静分离

news/2023/6/8 0:40:13

前提是需要配置Nginx的反向代理,可以我看之前的文章

上篇Nginx配置动态代理的文章,我们在tomcat里写了两个简单html

这次我们依然采取同样的思路来演示负载均衡

一、负载均衡

1.在两个Tomcat容器(我这里一个端口8081,一个8082)里的webapps目录下都创建目录vod

2.在vod目录下都创建一个a.html  里面简单写点东西就行

我这里8081端口的Tomcat中html写的是 <h1>hello</h1>

8082端口的Tomcat中html写的是 <h1>8082</h1>

3.重启这两个Tomcat容器 docker restart 名字或容器ID

4.配置Nginx配置文件(上篇Nginx反向代理有详细介绍),在http下添加

#下面为负载均衡配置,默认为轮询,myserver是名字可以随意更改,要和server里对应的一样

upstream myserver{
server ip:8081;
server ip:8082;
}

server{
       #监听的端口
       listen 9003;
       #字符格式
       charset utf-8;
       #当前的服务器ip
       server_name ip;

       location / {
          #要代理去哪个服务器的ip以及端口,这里的myserver是上面配置的轮询
          proxy_pass http://myserver;
          #被代理服务器返回默认的响应头中的location头域以及refresh头域数值
          proxy_redirect default;
       }

}

5.保存退出,重启Nginx重启

6.访问 http://ip:9003/vod/a.html  可以看到负载均衡(默认轮询)的效果

7.Nginx的负载均衡策略

①轮询(默认)

②weight ,代表权重,默认为1,权重越高,被分配的客户端越多

upstream myserver{
server ip:8081 weight=5;
server ip:8082 weight=10;
}

③ip_hash,每个请求按访问ip的hash结果分配,这样每个访客固定访问一-个后端服务器,可以解决session的问题。

upstream myserver{

ip_hash;
server ip:8081;
server ip:8082;
}

④fair(第三方),按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream myserver{
server ip:8081;
server ip:8082;

fair;
}

二、动静分离

1.进入Nginx的容器里 docker exec -it Nginx名称或者容器ID /bin/bash

2.进入/data目录 cd /data

3.创建一个txt目录(后续这里就是image、html等等静态文件)

4.vim a.txt 我这里只写了ooooooooooooooooooooooooooooooooooo来做演示

#注意:这里开放的端口为9004,如果没有开放Nginx容器的9004端口,可以查找一下教程开放一下,我一般都是删除这个Nginx容器然后重新运行一个开放了端口的Nginx容器

docker rm -f Nginx容器名称或者容器ID

docker run -p 9002:80 -p 9001:9001 -p 9003:9003 -p 9004:9004 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:latest

server{
       #监听的端口
       listen 9004;
       #字符格式
       charset utf-8;
       #当前的服务器ip
       server_name ip;

       location /txt/ {
          root /data/;
          index index.html index.htm;
       }

}

 重启Nginx容器,访问查看效果

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4565664.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

联想e470c怎么修改电脑语言,联想(ThinkPad)E470c笔记本安装win10教程

联想(ThinkPad)E470c笔记本做工用料扎实、外观沉稳时尚、机身轻薄&#xff0c;从而受到广大人们的青睐。但是联想(ThinkPad)E470c笔记本出现了系统损坏这些情况&#xff0c;不知道该怎么拯救它&#xff0c;所以今天快启动小编为大家分享联想(ThinkPad)E470c笔记本安装win10教程…

【算法题】1318. 或运算的最小翻转次数

插&#xff1a; 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 坚持不懈&#xff0c;越努力越幸运&#xff0c;大家一起学习鸭~~~ 题目&#xff1a; 给你三个正整数 a、b 和 c。 你可…

第六章SpringFramework之声明事务

文章目录JdbcTemplate准备工作导入依赖创建jdbc.properties配置Spring的配置文件配置测试类的环境实例声明式事务概念先看看对应的编程式事务声明式事务通过一个案例了解声明式事务前提准备三层架构的构建模拟场景的情况添加事务Spring声明式事务的属性事务注解标识的位置事务属…

Apple Watch必备? 高逼格精品周边配件盘点

4月10日&#xff0c;包括中国大陆在内的全球第一批Apple Watch发售国家/地区开始接受预订。根据此前苹果发布会上宣布的时间&#xff0c;4月24日Apple Watch将正式出货&#xff0c;也就是说&#xff0c;决定购买的用户很快就可以把玩到这款万众期待的智能手表了。 Apple Watch会…

读论文,第十一天:Flexible Strain Sensors for Wearable Hand Gesture Recognition: From Devices to Systems

手势识别作为人类机器交互的一种重要方法&#xff0c;已经引起了广泛的研究兴趣。柔性应变传感器的发展提供了直接测量手指运动行为的可能性&#xff0c;通过将传感器放在手指上或集成到数据手套上&#xff0c;以准确和经济有效的手势识别。本文首先介绍了各种柔性应变传感器设…

热熔型胶粘剂行业市场发展趋势分析:产量分析、市场规模分析、销售收入分析、供需格局分析

热熔型胶粘剂行业市场发展趋势分析&#xff1a;产量分析、市场规模分析、销售收入分析、供需格局分析 &#xff08;1&#xff09;胶粘剂&#xff1a;胶粘剂又称粘合剂&#xff0c;是指通过物理或化学作用&#xff0c;能将同种、两种、两种以上同质或异质的制件&#xff08;或材…

「氮科技」加持下,「疾速奔跑」的安踏超越耐克还需多久?

文|螳螂观察 作者|易不二 不久前&#xff0c;安踏2021半年报的成绩&#xff0c;已经为中国运动品牌写下了一个超越阿迪&#xff0c;仅次于耐克的荣誉。 也就是说&#xff0c;在中国市场&#xff0c;安踏的对手只剩下了耐克。 在专业运动上&#xff0c;耐克的强势领域一直在…

美瑞新材:做世界一流的新材料供应商

2016年1月15日&#xff0c;山东美瑞新材料股份有限公司&#xff08;简称”美瑞新材”或“美瑞”&#xff09; &#xff0c;证券代码“834779”&#xff0c;在全国中小企业股转系统&#xff08;新三板&#xff09;举行挂牌仪式&#xff0c;得到了资本市场的追捧&#xff0c;发展…