• Nginx的负载均衡


    Nginx的负载均衡

    简单了解

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

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

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

    负载均衡Demo

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

    • Nginx:192.168.159.169

    • Tomcat:192.168.159.158;192.168.159.179

    环境搭建:因为我的三台Linux都是没装JDK环境的,所以在装Tomcat之前得把JDK环境给装上,详细不多说,这个不是我们的重点,

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

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

      

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

      

      

    修改我们的Nginx的配置文件如下:

      

    • 首先我们创建一个upstream 取个id 随便取什么可以,我取的是tomcat.nginx.com

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

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

    • 然后在我们的拦截规则中通过proxy_pass 指定上方这个id即可

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

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

    • Nginx内部对拦截的请求进行了转发,转发到内部参与负载均衡的机器的列表中
  • 相关阅读:
    《设计模式》-原则二:里氏代换原则(LSP)
    设计模式从0开始
    net reactor加密源码保软件安全-net reactor使用教程
    python中import和from...import区别
    Python之import
    c#执行bat批处理文件,并通过线程将结果显示在控件中
    C#中双问号、双冒号等几个特殊关键字
    Eclipse debug高级技巧(转)
    Android从零开始--安装
    以另一个用户来运行程序
  • 原文地址:https://www.cnblogs.com/msi-chen/p/11132738.html
Copyright © 2020-2023  润新知