`
tmj_159
  • 浏览: 708311 次
  • 性别: 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来实现网站的负载均衡,作者是刘振宇。 负载均衡是一种计算机技术,用于在多个计算资源(例如计算机、CPU、磁盘驱动器、通信连接、...

    nginx+redis负载均衡、session共享

    这个方案结合了Nginx的反向代理和负载均衡能力,以及Redis的内存数据存储和分布式特性,用于处理高并发场景下的HTTP请求,并确保用户会话(session)在多台服务器之间的一致性。 首先,我们来详细了解一下Nginx。...

    Nginx+Tomcat负载均衡

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

    nginx负载均衡实现

    ### Nginx负载均衡实现 #### 一、负载均衡概念及必要性 负载均衡是一种用于在网络环境中分散工作负载的技术,通常用于改善网络性能、提高可用性和最大化资源利用。当单台服务器难以应对高流量和并发请求时,负载...

    nginx1.8 负载均衡

    在 Nginx 1.8 版本中,我们可以利用其强大的负载均衡功能来优化服务架构。 一、Nginx 负载均衡的基本原理 Nginx 作为前端服务器,接收来自客户端的请求,然后根据预设的策略将这些请求分发到后端的一组服务器上。...

    Nginx+Squid负载均衡相关的PPT

    **Nginx与Squid负载均衡详解** 在现代互联网架构中,负载均衡扮演着至关重要的角色,它能够有效地分发网络流量,提高系统的可用性和响应速度,同时增强容错能力。Nginx和Squid是两种常用的开源工具,分别以反向代理...

    nginx负载均衡配置,宕机自动切换方式

    在传统的nginx负载均衡配置中,并未直接提供后端服务器健康检查的功能,但nginx提供了几个重要的指令来帮助我们设置超时和重试机制,来间接保障服务的可用性。例如,proxy_connect_timeout指令用于设置nginx尝试连接...

    实现基于nginx的tomcat负载均衡和集群配置

    结合两者,我们可以利用Nginx的高并发处理能力和Tomcat的Java应用支持,实现高效的服务架构。 负载均衡是一种将网络流量分布到多个服务器的技术,以避免单个服务器过载,提高系统的可用性和响应速度。Nginx可以通过...

    【Nginx】Windows平台下配置Nginx服务实现负载均衡.doc

    本文将详细介绍如何在Windows平台上利用Nginx实现负载均衡,特别是针对.NET Core WebApi项目的实践案例。 #### 二、准备工作与环境搭建 **系统环境:** - **操作系统:** Windows 10 - **开发工具:** Visual ...

    Nginx+tomcat 实现负载均衡session共享demo

    在`Nginx`中,我们可以利用其内置的负载均衡模块来实现这一点,比如使用轮询、最少连接数或IP哈希策略。 配置`Nginx`进行负载均衡的步骤如下: 1. 安装`Nginx`:在服务器上安装`Nginx`,确保它能够正常启动和运行...

    Linux下nginx负载均衡

    本文将详细解析"Linux下Nginx负载均衡"这一主题,包括Nginx的基本概念、配置原理以及如何在Linux系统中设置负载均衡。 Nginx是一款高性能的HTTP和反向代理服务器,同时也是一款邮件协议代理服务器。它的主要特点是...

    nginx+tomcat负载均衡实现

    本文将深入探讨如何利用`nginx`和`tomcat`实现负载均衡,以提升系统性能和稳定性。 首先,我们需要理解负载均衡的基本概念。负载均衡是指通过将工作负载分布到多个计算资源(如服务器)来避免过载,确保服务的高...

    张宴 使用Nginx轻松实现开源负载均衡

    2. Nginx负载均衡原理: - 轮询(Round Robin):每个请求按时间顺序轮流分配到不同的后端服务器,如果后端服务器出现故障,会自动排除故障服务器,将请求转发到其他正常的服务器。 - 权重(Weighted Round Robin...

    nginx配置优化+负载均衡+动静分离详解

    这样做可以减轻后端服务器的压力,并利用Nginx高效处理静态文件的能力。 ##### 3.1 静态资源处理 - **静态文件服务**: 通常情况下,Nginx会直接返回静态文件而不经过任何后端服务器处理。例如,可以通过以下方式...

    nginx负载均衡 nginx+tomcat tomcat实现负责均衡

    ### Nginx与Tomcat实现负载均衡的知识点详解 #### Nginx简介及特性 Nginx是一款由Igor Sysoev开发的高性能HTTP服务器和反向代理服务器,以其出色的稳定性和低系统资源消耗而著称。最初是为俄罗斯访问量排名第二的...

    Keepalived+Nginx实现Web负载均衡

    3. **软件方式实现高可用或负载均衡**:利用开源软件如 Keepalived、LVS 等构建低成本但高效的负载均衡方案。 本篇主要介绍如何使用 Keepalived 和 Nginx 构建一个简单而强大的 Web 负载均衡系统。 #### 二、...

    Nginx负载均衡案例

    **Nginx负载均衡案例** 在现代Web服务架构中,负载均衡是不可或缺的一部分,它能够有效地分散网络流量,提高服务的可用性和响应速度。Nginx作为一款高性能的HTTP和反向代理服务器,广泛用于实现负载均衡。在这个...

Global site tag (gtag.js) - Google Analytics