前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx反向代理、负载均衡功能

Nginx反向代理、负载均衡功能

作者头像
863987322
发布2018-01-24 14:26:50
5590
发布2018-01-24 14:26:50
举报

环境:

[root@db02 ~]# uname -a
Linux db02 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@db02 ~]# cat /etc/redhat-release 
CentOS release 6.9 (Final)

Nginx反向代理知识概念

反向代理与正向代理

此图来源: http://colabug.com/866451.html

反向代理

  • 接收请求,完成请求处理
  • 接收响应,返回告知响应

 数据转发(正向代理)

  • 接收请求,转发数据请求
  • 接收响应,转发数据响应

nginx反向代理设置

nginx通过proxy_pass_http 配置代理站点,upstream实现负载均衡。

upstream模块: 类似于一个池塘,将nginx节点放置到池塘中

proxy_pass_http 模块: 用池塘里面的nginx节点,利用proxy进行调用

负载均衡的配置文件

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;                                  
    upstream server_pools {
        server 10.0.0.7:80;
        server 10.0.0.8:80;
        server 10.0.0.9:80;
    } 
    server {
        listen 80;
        server_name bbs.zxpo.com;
        location / {
            proxy_pass http://server_pools;
        }
    }
}

负载均衡参数介绍

upstream模块内参数

参数说明

server 10.0.10.8:80

负载均衡后面的RS配置,可以是IP或域名,如果端口不写,默认是80端口。高并发场景下,ip可换成域名,通过DN做负载均衡

weigth = 1

代表服务器的权重,默认值是1。权重数字越大表示接受的请求比例越大

max_ fails=5

Nginx尝试连接后端主机失败的次数,这个值是配合proxy_next_upstream、 fastcgi_next_upstream和memcached_next_upstream这三个参数来使用的。当nginx接收后端服务器返回这三个参数定义的状态码时,会将这个请求转发给正常工作的后端服务器,例如404、502、503、Max_ fails的默认值是1; 企业场景下建议 2-3次。根据业务需求去配置

fail_ timeout=10s

在max_ fails定义的失败次数后,距离下次检查的间隔时间,默认是10s ;如果max_ fails是5 ,它就检测5次,如果5次都是502 ,那么,它就会根据fail_timeout的值,等待10s再去检查,还是只检查一次,如果持续502 ,在不重新加载 Nginx 配置的情况下,每隔 l0s都只检查一次。常规业务2~3秒比较合理,比如京东3 秒,蓝汛3秒,可根据业务需求去配置。

backup

热备配置(RS芍点的高可用),当前面激活的 RS都失败后会自动后用热备RS这标志着这个服务器作为备份服务器,若主服务器全部宕机了,就会向它转发请求,注意:当负载调度算法为ip_hash时,后端服务器在负载均衡调度中的状态不能是weight和backup

down

这标志着服务器永远不可用,这个参数可配合 ip_hash使用;类似注释效果

参数在配置文件中的格式

upstream server_pools {
        server 10.0.0.7 weight=1 max_fails=3 fail_timeout=10s;
        server 10.0.0.8 weight=1 max_fails=3 fail_timeout=10s;
        server 10.0.0.9 weight=1 max_fails=3 fail_timeout=10s;
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Nginx反向代理知识概念
    • 反向代理与正向代理
      • 反向代理
      •  数据转发(正向代理)
  • nginx反向代理设置
    • 负载均衡的配置文件
      • 负载均衡参数介绍
        • 参数在配置文件中的格式
    相关产品与服务
    负载均衡
    负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档