`

nginx中upstream负载均衡配置详解

阅读更多

有关nginx负载均衡的配置方法,nginx中负载后端服务是使用upstream,这里就介绍下upstream的一些选项,包括轮循方式、权重、ip_hash等,需要的朋友参考下。

nginx负载均衡选项upstream用法举例

nginx中upstream的几种方式:

1、轮询(weight=1)

默认选项,当weight不指定时,各服务器weight相同,
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

 

upstream bakend {
server 192.168.1.10;
server 192.168.1.11;
}

 2、weight

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

如果后端服务器down掉,能自动剔除。
比如以下配置,则1.11服务器的访问量为1.10服务器的两倍。

 

upstream bakend {
server 192.168.1.10 weight=1;
server 192.168.1.11 weight=2;
}

 3、ip_hash

 

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能跨服务器的问题。
如果后端服务器down掉,要手工down掉。(www.jbxue.com 整理)

 

upstream resinserver{
ip_hash;
server 192.168.1.10:8080;
server 192.168.1.11:8080;
}

 4、fair(第三方插件)

 

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

 

upstream resinserver{
server 192.168.1.10:8080;
server 192.168.1.11:8080;
fair;
}

 5、url_hash(第三方插件)

 

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存服务器时比较有效。
在upstream中加入hash语句,hash_method是使用的hash算法。

 

upstream resinserver{
server 192.168.1.10:8080;
server 192.168.1.11:8080;
hash $request_uri;
hash_method crc32;
}

 设备的状态有:

 

1、down 表示单前的server暂时不参与负载
2、weight 权重,默认为1。 weight越大,负载的权重就越大。
3、max_fails 允许请求失败的次数默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4、fail_timeout max_fails次失败后,暂停的时间。
5backup 备用服务器, 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

 

介绍了这么多,下面来看一个负载均衡实例:

 

upstream tel_img_stream {
#ip_hash;
server 192.168.11.68:20201;
server 192.168.11.69:20201 weight=100 down;
server 192.168.11.70:20201 weight=100;
server 192.168.11.71:20201 weight=100 backup;
server 192.168.11.72:20201 weight=100 max_fails=3 fail_timeout=30s;
}

 说明:

 

1)、down 表示当前的server暂时不参与负载
2)、weight 默认为1.weight越大,负载的权重就越大。
3)、backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
4)、上例中192.168.11.72:20201 设置最大失败次数为 3,也就是最多进行 3 次尝试,且超时时间为 30秒。max_fails 的默认值为 1,fail_timeout 的默认值是 10s。
注意,当upstream中只有一个 server 时,max_fails 和 fail_timeout 参数可能不会起作用。
weight\backup 不能和 ip_hash 关键字一起使用。

 

最后在需要使用负载均衡的server中增加 proxy_pass http://tel_img_stream/;
获取访问head信息:

 

location ~* ^/tel_img/(.*)$
{
proxy_pass http://tel_img_stream;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}

 location 对URL进行匹配,可以进行重定向或者进行新的代理负载均衡。

 

 

 

分享到:
评论

相关推荐

    Nginx + Tomcat 负载均衡配置详解

    **Nginx + Tomcat 负载均衡配置详解** 在现代互联网应用中,服务器的高可用性和性能优化是至关重要的。Nginx 和 Tomcat 的组合常常被用来实现这样的目标,其中Nginx作为反向代理和负载均衡器,而Tomcat作为Java应用...

    nginx配置upstream负载均衡的资源文件文件通用版

    **Nginx配置Upstream负载均衡详解** 在现代Web服务架构中,负载均衡是一项至关重要的技术,它能够有效地分散网络流量,确保服务器集群的稳定性和高可用性。Nginx作为一款高性能的反向代理服务器和HTTP缓存服务器,...

    nginx配置 +负载均衡+https协议

    ### Nginx 配置详解 + 负载均衡 + HTTPS 协议 #### 一、SSL证书申请 SSL证书是实现HTTPS的关键组件之一,它主要用于保护网站与用户之间的数据传输安全。文中提到两种常见的SSL证书类型:OpenSSL和StartSSL。在此...

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

    ### Nginx在Windows平台下的负载均衡配置详解 #### 一、引言 负载均衡是现代Web应用架构中不可或缺的一部分,它可以有效提升系统的可用性和扩展性。本文将详细介绍如何在Windows平台上利用Nginx实现负载均衡,特别...

    Nginx+Tomcat负载均衡配置教程

    ### Nginx+Tomcat负载均衡配置教程 #### 一、Nginx 安装与配置 **1. 下载并安装Nginx** - **下载Nginx**:前往Nginx官方网站下载适合您操作系统的最新版本。推荐下载稳定版以确保运行稳定。 - **解压文件**:将...

    nginx负载均衡配置文件实例

    **Nginx负载均衡配置详解** Nginx是一款高性能的HTTP和反向代理服务器,它以其轻量级、高并发的特性在Web服务领域广泛应用。其中,Nginx的负载均衡功能是其重要特性之一,它能有效地分散网络流量,提高系统可用性和...

    Nginx服务器fair负载访问安装配置

    ### Nginx Fair 负载均衡模块详解与配置 #### 概述 Nginx 是一款广泛使用的高性能 HTTP 和反向代理 Web 服务器。它以其稳定、丰富的特性及低资源消耗而闻名。Nginx 支持多种负载均衡算法,其中之一就是 **Fair**...

    nginx_upstream_hash-0.3.1.tar.gz

    为了实现更灵活的负载均衡策略,Nginx提供了一系列的upstream模块,其中,`nginx_upstream_hash`模块是其中的一种,用于根据请求的某些参数进行哈希计算,进而将请求定向到特定的后端服务器。本文将深入探讨`nginx_...

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

    ##### 2.1 负载均衡配置 - **后端服务器定义**: `upstream localhost.com { ... }` 定义了一个名为`localhost.com`的负载均衡器,并指定了后端服务器列表。 - **IP哈希**: `ip_hash;` 使用了IP哈希算法来实现会话...

    Nginx-配置负载均衡的几种方式

    3. **完成负载均衡配置**:此时,已初步完成负载均衡配置。默认情况下,Nginx会采用轮询的方式进行负载分配。 #### 三、Nginx负载均衡策略详解 除了基本的轮询策略外,Nginx还提供了多种负载均衡策略,可以根据不同...

    nginx负载均衡配置文件demo

    **Nginx负载均衡配置详解** 在高并发的互联网应用环境中,服务器的性能优化和负载分发至关重要。这里我们探讨的是如何使用Nginx作为反向代理和负载均衡器,来提升系统的整体处理能力,特别是在处理静态内容和优化...

    nginx 双tomcat 负载均衡

    Nginx 双 Tomcat 负载均衡配置详解 Nginx 是一款流行的开源反向代理服务器软件,可以实现负载均衡、缓存、SSL 加速等多种功能。在本文中,我们将介绍如何使用 Nginx 实现双 Tomcat 负载均衡,以提高网站的可用性和...

    nginx_upstream_hash-0.3.2.tar.gz

    在 Nginx 的配置中,`upstream` 模块是用于处理负载均衡的,它允许将客户端请求分发到一组后端服务器上。而 `nginx_upstream_hash` 是一个第三方模块,它扩展了 Nginx 的负载均衡策略,提供了基于请求参数或特定头部...

    nginx软件负载均衡

    **Nginx软件负载均衡详解** Nginx是一款高性能、轻量级的Web服务器和反向代理服务器,因其高效稳定、配置简单、内存占用少等特点,在互联网行业中被广泛应用。其中,Nginx的负载均衡功能是其核心特性之一,它能够...

    Nginx配置负载均衡和缓存详解

    ### Nginx配置负载均衡和缓存详解 #### 负载均衡概念解析 随着互联网技术的迅猛发展,网络服务的访问量与日俱增,单一服务器已经难以满足大规模访问需求。为此,**负载均衡**作为一种高效且经济的解决方案应运而生...

    Nginx+Apache负载均衡

    ### Nginx+Apache负载均衡知识点详解 #### 一、Nginx简介及特性 **Nginx** 是一种高性能的 HTTP 和反向代理 Web 服务器,同时也支持 IMAP/POP3/SMTP 服务。其核心特点包括: - **高性能**:能够处理大量并发连接...

    linux下nginx+tomcat负载均衡配置

    ### Linux 下 Nginx + Tomcat 负载均衡配置详解 #### 一、Nginx 安装 Nginx 是一款轻量级的 Web 服务器 / 反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。在 Linux 系统上...

Global site tag (gtag.js) - Google Analytics