• Nginx总结(六)nginx实现负载均衡


    前面讲了如何配置Nginx虚拟主机,大家可以去这里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html

    今天要说的是如何配置nginx和tomcat实现反向代理。

    需要说明的是:由于本文章是nginx系列文章中的一篇,文章里面很多其他的配置,可能前面的文章已经说讲过,然后后续就没有在介绍,如果出现有些配置没有讲,大家可能需要去看看前面的文章。

    什么是负载均衡

             负载均衡是建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

             负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

    Nginx实现负载均衡

    i. 需求

             nginx作为负载均衡服务器,用户请求先到达nginx,再由nginx根据负载配置将请求转发至 tomcat服务器。

             nginx负载均衡服务器:192.168.78.132

             tomcat1服务器:192.168.78.134

             tomcat2服务器:192.168.78.135

    ii. 环境准备

      1. 两台 tomcat 服务器,我这里使用的是使用apache-tomcat-7.0.57版本,在192.168.78.134和192.168.78.135虚拟机上启动tomcat。

      2. Nginx 服务器,这个之前安装过,ip地址是:192.168.78.132

      3. 修改两个tomcat下的webapps/ROOT/index.jsp的内容,使用tomcat1和tomcat2两个服务首页显示不同的内容。

      4. 通过host文件指定aaa.test.com的域名解析,对应192.168.78.132虚拟机:修改window的hosts文件:(C:WindowsSystem32driversetc)

    192.168.78.132 aaa.test.com

    iii. 配置Nginx

    根据上边的需求在nginx.conf文件中的http节点添加如下配置:

       upstream tomcat_server_pool{
    
            server 192.168.101.5:8080 weight=10;
    
            server 192.168.101.6:8080 weight=10;
    
        }
    
    
        server {
    
            listen 80;
    
            server_name aaa.test.com;
    
            location / {
    
                     proxy_pass http://tomcat_server_pool;
    
                     index index.jsp index.html index.htm;
    
            }
    
        }

    相关参数说明:

    down:表示单前的server暂时不参与负载

    weight :默认为1.weight越大,负载的权重就越大。

    max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

    fail_timeout:max_fails 次失败后,暂停的时间。

    backup:其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。


    iv.  测试
     

    请求aaa.test.com,我们会发现,nginx会将请求转发到各个tomcat服务器上。

    最后

    以上就将Nginx负载均衡介绍完了。后面将会介绍Nginx的高可用。

  • 相关阅读:
    ubuntu shell插件
    通过更改服务器解决双系统ubuntu时间+8
    ubuntu安装mysql遇到的问题
    05 面向对象:构造方法&static&继承&方法 &final
    electron 大体结构
    js时间Date对象介绍及解决getTime转换为8点的问题
    Fiddler命令行和HTTP断点调试
    使用HTTP头去绕过WAF(bypasswaf)
    Linux下php5.3.3安装mcrypt扩展
    Error: Cannot find a valid baseurl for repo: epel
  • 原文地址:https://www.cnblogs.com/zhangweizhong/p/11378566.html
Copyright © 2020-2023  润新知