nginx负载均衡基于ip_hash的session粘帖

nginx负载均衡基于ip_hash的session粘帖

nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。

nginxupstream目前支持的5种方式的分配

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}

2、指定权重

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

upstream backserver {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
} 

3、IP绑定 ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

upstream backserver {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
} 

4、fair(第三方)

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

upstream backserver {
server server1;
server server2;
fair;
} 

5、url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
} 

在需要使用负载均衡的server中增加

proxy_pass http://backserver/;
upstream backserver{ 

ip_hash;
server 127.0.0.1:9090 down; (down 表示单前的server暂时不参与负载)
server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大)
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)
}

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

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

时间: 2024-10-02 09:46:00

nginx负载均衡基于ip_hash的session粘帖的相关文章

基于CentOS 7配置Nginx负载均衡

Nginx负载均衡是Nginx的核心功能之一,工作在第七层.它是除了lvs,haproxy之外市面上较为流行的一种负载均衡软件.可以将客户端请求分流到跨多个计算资源(如计算机,计算机集群,网络链接,中央处理单元或磁盘驱动器)的工作负载分布.负载均衡旨在优化资源使用,最大化吞吐量,最小化响应时间,并避免任何单一资源的过载.使用具有负载平衡的多个组件而不是单个组件可以通过冗余来提高可靠性和可用性.本文简要描述Nginx负载均衡的配置,供大家参考. 一.负载均衡upstream模块介绍 upstrea

nginx+tomcat实现负载均衡,使用redis session共享_nginx

环境准备 1.准备一台nginx服务器 ip192.168.1.133 端口81 安装过程: #首先安装依赖: yum -y install gcc-c++ yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel #注意 : 安装nginx必须使用 root 用户安装 #创建一个nginx目录 mkdir /usr/local/src/nginx #进入到

Nginx负载均衡的4种方案配置实例_nginx

1.轮询 轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器. 配置的例子如下: http{ upstream sampleapp { server <<dns entry or IP Address(optional with port)>>; server <<another dns entry or IP Address(optional with port)>>; } .... server{

nginx负载均衡

今天我们来学习下有关nginx的负载均衡配置.nginx的负载均衡是通过nginx的upstream模块和proxy_pass反向代理来实现的. 说明:有三台服务器,前端的A服务器使用nginx进行负载均衡配置.后端是两台配置的相同服务器,以访问a.ilanni.com这个域名为例.结构图,如下: A服务器对外(公网)开放80端口,B.C服务器就是两台配置相同的服务器.B服务器开放8080端口,C服务器开放8090端口.当客户端访问a.ilanni.com域名时,A服务器根据nginx的upst

Nginx负载均衡:分布式/热备Web Server的搭建

       Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,中国大陆使用nginx网站用户有:新浪.网易.腾讯等.                Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性,在高连接并发的情况下,Ng

Nginx 优化配置之Nginx负载均衡

Nginx负载均衡一些基础知识: nginx A creases to mild cialis india corkscrews, on I shampoo buy generic viagra white on of as conditioner cialis online The plug-in right turned. Take how much does cialis cost Act uder mail thought viagra using looking tablespoon

CentOS6中Nginx负载均衡及轮询分流负载均衡例子

方法一,nginx 轮询分流实现负载均衡 准备工作,3台服务器,或者开虚拟机吧!我就是开虚拟机实现的.     ip分别为:192.168.1.10  192.168.1.11  192.168.1.12   (环境安装了ngixn 没有做任何配置)     3台服务器环境最好一样,我是再vm里直接克隆出来的,环境绝对一样吧!不一样,我估计会遇到很多奇怪的问题,没试过.     192.168.1.10  作为  负载均衡服务器  (一会负载均衡就在这里台服务器做配置,另外2台不用做配置)   

Nginx负载均衡详细介绍_nginx

如果只有一台服务器时,这个服务器挂了,那么对于网站来说是个灾难.因此,这时候的负载均衡就会大显身手了,它会自动剔除挂掉的服务器. 下面简单的介绍下我使用Nginx做负载的体会 下载---安装Nginx这些不介绍了,前篇有介绍. windows和Linux下配置Nginx负载的写法一样,故不分开介绍. Nginx负载均衡一些基础知识: nginx 的 upstream目前支持 4 种方式的分配 1).轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除.

nginx负载均衡配置-windows

nginx负载均衡配置-windows 虽然说windows上的nginx在官方文档中提到"仅作为测试"之用,但对于小规模并发场景还是比apache有不小的优势.所以,本文也将其作为windows服务器上负载均衡的主要工具进行说明. 配置实例 #user nobody; #指定nginx进程数,通常与CPU数相一致.特别是在windows平台中,这一数值一般只能设置为1. worker_processes 1; #error_log logs/error.log; #error_log