nginx 请求负载 转发规则设置

(1)轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream webserver {
  server 192.168.1.11;
  server 192.168.1.12;
}
(2)weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream webserver { 
  server 192.168.1.11 weight=5; 
  server 192.168.1.12 weight=10; 

 
(3)ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream webserver { 
  ip_hash; 
  server 192.168.1.11; 
  server 192.168.1.12; 

 
(4)fair
按后端服务器的响应时间来分配请求,响应时间短的优先分配。 
upstream bakend { 
  server 192.168.1.11; 
  server 192.168.1.12; 
  fair; 

 
(5)url_hash
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
upstream backend { 
  server 192.168.1.11; 
  server 192.168.1.12; 
  hash $request_uri; 
  hash_method crc32; 

}

 

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
 
     #设定mime类型,类型由mime.type文件定义
     include              / etc / nginx / mime . types ;
     default_type     application / octet - stream ;
 
     #设定日志格式
     access_log          / var / log / nginx / access . log ;
 
     #省略上文有的一些配置节点
     #。。。。。。。。。。
 
     #设定负载均衡的服务器列表
     upstream mysvr {
         #weigth参数表示权值,权值越高被分配到的几率越大
         server 192.168.8.1x : 3128 weight = 5 ;
         #本机上的Squid开启3128端口,不是必须要squid
         server 192.168.8.2x : 80      weight = 1 ;
         server 192.168.8.3x : 80      weight = 6 ;
     }
        
     upstream mysvr2 {
         #weigth参数表示权值,权值越高被分配到的几率越大
         server 192.168.8.x : 80      weight = 1 ;
         server 192.168.8.x : 80      weight = 6 ;
     }
 
     #第一个虚拟服务器
     server {
         #侦听192.168.8.x的80端口
         listen              80 ;
         server _name      192.168.8.x ;
 
         #对aspx后缀的进行负载均衡请求
         location ~ . * . aspx $ {
             #定义服务器的默认网站根目录位置
             root      / root ;
             #定义首页索引文件的名称
             index index . php index . html index . htm ;
            
             #请求转向mysvr 定义的服务器列表
             proxy_pass     http : //mysvr ;
 
             #以下是一些反向代理的配置可删除.
 
             proxy_redirect off ;
 
             #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
             proxy_set_header Host $ host ;
             proxy_set _header X - Real - IP $ remote_addr ;
             proxy_set _header X - Forwarded - For $ proxy_add_x_forwarded_for ;
 
             #允许客户端请求的最大单文件字节数
             client_max_body _size 10m ;
 
             #缓冲区代理缓冲用户端请求的最大字节数,
             client_body_buffer _size 128k ;
 
             #nginx跟后端服务器连接超时时间(代理连接超时)
             proxy_connect _timeout 90 ;
 
             #连接成功后,后端服务器响应时间(代理接收超时)
             proxy_read _timeout 90 ;
 
             #设置代理服务器(nginx)保存用户头信息的缓冲区大小
             proxy_buffer _size 4k ;
 
             #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
             proxy _buffers 4 32k ;
 
             #高负荷下缓冲大小(proxy_buffers*2)
             proxy_busy_buffers _size 64k ;
 
             #设定缓存文件夹大小,大于这个值,将从upstream服务器传
             proxy_temp_file_write _size 64k ;     
 
         }
     }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值