1 实现效果:
浏览器访问nginx,输入访问nginx地址,然后负载均衡到tomcat8080和8002端口中
2 准备工作:
1)准备两台tomcat容器,一台8080,一台8081
2)在两台tomcat里面的webapps目录中,创建名称为edu的文件夹,在edu文件夹中创建a.html
3)在nginx的配置文件中尽心负载均衡的配置
3 实践
这是自己已经启动的容器
已经在容器tomcat和容器mytomcat的webapps下建立了一个a.html页面。
容器tomcat:
容器mytomcat2:
配置nginx配置文件,主要修改以下几个地方
修改完成之后,重新启动nginx,访问
发现每一次跳转的页面都不同,所以负载均衡是成功的。
随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎,nginx 就是其中的一个,在 linux 下有 Nginx、LVS、Haproxy 等等服务可以提供负载均衡服务,而且 Nginx 提供了几种分配方式(策略):
轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
weight
weight 代表权,重默认为 1,权重越高被分配的客户端越多指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。 例如:
- upstream server_pool {
- server 192.168.5.21 weight = 10 ;
- server 192.168.5.22 weight = 10 ;
- }
ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。 例如:
- upstream server_pool {
- ip_hash ;
- server 192.168.5.21:80 ;
- server 192.168.5.22:80 ;
- }
fair
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
- upstream server_pool {
- server 192.168.5.21:80 ;
- server 192.168.5.22:80 ;
- fair ;
- }