`
tmj_159
  • 浏览: 700291 次
  • 性别: Icon_minigender_1
  • 来自: 永州
社区版块
存档分类
最新评论

利用 Nginx 做Http 负载均衡

阅读更多

本文大部分内容来自如下链接的官方文档,如果有感兴趣的可以直接阅读。

http://nginx.org/en/docs/http/load_balancing.html

-------------------------------------------------------------------------------------

在多个应用实例间进行负载均衡是优化资源利用率,增大吞吐量,减少延迟和提高容错性一个有效常用方法。

Nginx是一个处理负载均衡的非常有效的工具。

 

负载均衡的方法

Nginx有下面几种负载均衡的方法

round-robin :以循环的方式处理请求

least-connected :下一个请求被分配到有最小活动连接数的服务上

ip-hash:同一个IP会被HASH到同一个服务上去

 

默认的负载均衡配置

http {
    upstream myapp1 {
        server srv1.example.com;
        server srv2.example.com;
        server srv3.example.com;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://myapp1;
        }
    }
}

在上面一个实例中,有3个相同的实例srv1-srv3,当负载均衡的方式没有指定时,默认是循环的方式,所有的请求被代理到服务组myapp1中的服务进行负载均衡。

 

最小连接的方式

其它的不变,只下面这部分改变如下

upstream myapp1 {
        least_conn;
        server srv1.example.com;
        server srv2.example.com;
        server srv3.example.com;
    }

  

session一致的方式

upstream myapp1 {
    ip_hash;
    server srv1.example.com;
    server srv2.example.com;
    server srv3.example.com;
}

 

权重的方式

upstream myapp1 {
        server srv1.example.com weight=3;
        server srv2.example.com;
        server srv3.example.com;
    }

 

健康检查

Nginx有被动的健康检查,即如果发送到某一个服务器的请求有错误,Nginx会标记这个服务,接下来会避免给这个服务分发请求。

 

附:nginx配置gzip压缩

在http{中}添加如下配置。

    gzip on;
    gzip_min_length 1k;
    gzip_buffers 16 64k;
    gzip_http_version 1.1;
    gzip_comp_level 6;
    gzip_types text/plain html/plain application/json application/javascript application/x-javascript text/css application/xml;
    gzip_vary on;

 然后执行命令,nginx -s reload,万事大吉

分享到:
评论

相关推荐

    利用Nginx实现网站负载均衡_刘振宇

    利用Nginx实现网站负载均衡_刘振宇利用Nginx实现网站负载均衡_刘振宇利用Nginx实现网站负载均衡_刘振宇利用Nginx实现网站负载均衡_刘振宇利用Nginx实现网站负载均衡_刘振宇

    Nginx+Tomcat负载均衡

    2. 利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,这个配置更简单。但是我们的应用很可能是某一个局域网大量用户同时登录,这样负载均衡就没什么作用了。 3. 利用memcached把多个...

    利用Nginx实现基于URI的Web负载分配

    如何利用nginx实现基于uri的负载均衡文档

    Nginx+Keepalived实现nginx高可用和负载均衡详细步骤

    本文档详细介绍了如何利用keepalived实现Nginx的高可用和负载均衡的步骤,且已经在生产环境中部署验证通过

    利用nginx实现动静分离和负载均衡 by 李乐,杨.doc

    利用Nginx实现动静分离和负载均衡图文并茂!

    Nginx负载均衡及SESSION同步

    本文档主要是记录了自己在进行负载均衡及SESSION同步的测试。利用nginx的反向代理做负载均衡,利用sql server数据库做session共享。达到网站集群在负载均衡时,session可以同步。

    nginx+redhat5.5 负载均衡

    今天学习了ngnix负载均衡,搭了个环境测试了下,并记录了搭建过程。nginx负载均衡配置过程,利用两台redhat 5.5服务器搭建了nginx的负载均衡。有图,安装过程。

    nginx+tomcat+memcached负载均衡集群搭建许jar包大全

    Tomcat要支持memcached管理Session,需要调用一些jar库文件如下(网上有的文章中可能所说的jar包不全,或者版本不样的会报错,但这里我已经经过验证了): 1) couchbase-client-1.2.2.jar 2) javolution-5.5.1....

    LVS+Keepalived高可用负载均衡集群

    随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司...我们利用LVS+Keepalived基于完整开源软件的架构可以为你提供一个负载均衡及高可用的服务器。

    CentOS基于nginx反向代理实现负载均衡的方法

    nginx做负载均衡的优点: 1、工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,nginx单凭这点可利用的...

    Windows+Nginx+Tomcat搭建负载均衡和集群环境同时实现

    很好的学习Windows+Nginx+Tomcat搭建负载均衡和集群环境教材,里面有详细的Demo。

    详解Nginx中的geo模块与利用其配置负载均衡的示例

    主要介绍了详解Nginx中的geo模块与利用其配置负载均衡的示例,文中对模块的geo指令使用有比较详细的介绍,需要的朋友可以参考下

    利用LVS+Keepalived 实现高性能高可用负载均衡服务器

    利用LVS+Keepalived 实现高性能高可用负载均衡服务器

    nginx-1.23.3.zip

    nginx/Windows-1.23.3 Nginx(发音为“engine X”[9] /ˌɛndʒɪnˈɛks/ EN-jin-EKS),风格化为NGIИX,是一个Web服务器,也可以用作反向代理,负载平衡器,...很大一部分Web服务器使用Nginx,通常作为负载均衡器。

    一种基于Nginx的负载均衡算法实现

    为了满足日益增长的网站访问量对服务器的需求,提出了一种基于Nginx的负载均衡算法,并完成算法的软件实现。该算法能在高并发的情况下选择合适的后台服务器,充分利用硬件资源,减少系统阻塞或延时。测试结果表明,...

    详解利用nginx和docker实现一个简易的负载均衡

    本篇文章主要介绍了利用nginx和docker实现一个简易的负载均衡 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Debian下搭建Nginx和Tomcat服务器实现负载均衡的方案

    负载均衡的基本概念 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、...

    nginx demo

    利用Nginx负载均衡的访问SpringBoot服务,还有利用Nginx实现404,500等错误页面的拦截。

Global site tag (gtag.js) - Google Analytics