Nginx的负载均衡

Nginx的负载均衡

简单了解

  • 负载均衡,相信你们都知道是什么意思,在Nginx中均衡的意思是指在大批量的访问前提下的一种基本均衡,并不是绝对的均衡;nginx

  • 对于Web工程的负载均衡,就是将相同的Web应用部署到不一样的Web服务器,web

  • 当多个请求到来时,由负载均衡服务器负责将请求按照实现设定好的规则向Web服务器进行分发,从而增长系统总体吞吐量tomcat

负载均衡Demo

  • 这个Demo须要使用到三台服务器,一个Nginx,两台Tomcat,在Nginx上设置对这两台Tomcat主机的负载均衡服务器

  • Nginx:192.168.159.169app

  • Tomcat:192.168.159.158;192.168.159.179负载均衡

环境搭建:由于个人三台Linux都是没装JDK环境的,因此在装Tomcat以前得把JDK环境给装上,详细很少说,这个不是咱们的重点,webapp

而后就是Tomcat环境的搭建,这个也不是咱们的重点,而后把咱们的web工程打包放到Tom的webapp目录下,启动Tomcat,这个也不是重点。spa

为了待会儿负载均衡看到效果,咱们再每一个工程中显示当前机器的IPserver

  

环境搭建完成访问web工程以下所示:blog

  

  

修改咱们的Nginx的配置文件以下:

  

  • 首先咱们建立一个upstream 取个id 随便取什么能够,我取的是tomcat.nginx.com

    1. :server:参与负载均衡的机器的ip和端口

    2. :weight:中文为权重的意思,也就是比列,上面两个服务的负载均衡比列为1:1

  • 而后在咱们的拦截规则中经过proxy_pass 指定上方这个id便可

  • 这样咱们访问咱们的nginx,其后带上访问的项目的名称,我没改因此为项目打包的名字

  • 能够看到咱们的访问路径是Nginx服务器且没有变,但下面显示当前项目的ip却变了,说明访问了不一样的项目,且每刷新一次就会换一个项目,实现了1:1分摊负载

  • Nginx内部对拦截的请求进行了转发,转发到内部参与负载均衡的机器的列表中
相关文章
相关标签/搜索