用于将多个服务器器定义成服务器器组,⽽而
由 proxy_pass , fastcgi_pass 等指令进⾏行行引⽤用
upstream backend {
server backend1.example.com
weight=5;
server backend2.example.com:8080
;
server unix:/tmp/backend3;
server backup1.example.com:8080
backup;
server backup2.example.com:8080
backup;
}
server {
location / {
proxy_pass http://backend;
}
}
指令:
16.1 upstream
定义后端服务器器组,会引⼊入⼀一个新的上下⽂文
Syntax: upstream name { ... }
Default: —
Context: http
16.2 server
定义服务器器 address ,可以将地址指定为域名或IP
地址,使⽤用可选端⼝口,或者指定为 unix: 前缀后指
定的 UNIX 域套接字路路径。如果未指定端⼝口,则使⽤用
端⼝口80
Syntax: server address [parameters];
Default: —
Context: upstream
参数:
weight=number # 权重,默认为1
max_conns # 连接后端报务器器最⼤大并发活动
连接数
max_fails=number # 连接后端服务器器最⼤大
失败次数,超出指定的次数时, server 将
被标记为不不可⽤用,默认为1
fail_timeout=time # 后端服务器器在指定超
时时间内未做出回应,也会被认为不不可⽤用,
默认10s
backup # 将服务器器标记为 backup ,表示备
份服务器器( sorry server ),即所有服务器器
均不不可⽤用时才启⽤用
down # 将服务器器标记为 down ,表示不不可
⽤用,配合 ip_hash 使⽤用,实现灰度发布
16.3 ip_hash
源地址 hash 调度⽅方法
Syntax: ip_hash;
Default: —
Context: upstream
16.4 least_conn
最少连接调度算法,当 server 拥有不不同的权重时其
为 wlc ,当所有后端主机连接数相同时,则使
⽤用 wrr ,适⽤用于⻓长连接
Syntax: least_conn;
Default: —
Context: upstream
16.5 hash
基于指定的 key 的 hash 表来实现对请求的调度,此
处的 key 可以直接⽂文本、变量量或⼆二者组合。将请求
分类,同⼀一类请求将发往同⼀一
个 upstreamserver ,使⽤用 consistent 参数, 将
使⽤用 ketama ⼀一致性 hash 算法,适⽤用于后端
是 Cache 服务器器(如 varnish )时使⽤用,提⾼高缓存
服务器器的缓存命中率
Syntax: hash key [consistent];
Default: —
Context: upstream
16.6 keepalive
为每个worker进程保留留的空闲的⻓长连接数量量,可节约
nginx端⼝口,并减少连接管理理的消耗
Syntax: keepalive connections;
Default: —
Context: upstream
16.7 health_check (商业版)
健康状态检测机制
Syntax: health_check [parameters];
Default: —
Context: location
参数:
interval=time # 检测的频率,默认为5秒
fails=number # 判定服务器器不不可⽤用的失败
检测次数;默认为1次
passes=number # 判定服务器器可⽤用的失败检
测次数;默认为1次
uri=uri # 做健康状态检测测试的⽬目标uri;
默认为/match=NAME:健康状态检测的结果
评估调⽤用此处指定的match配置块
16.8 match (商业版)
对 backend server 做健康状态检测时,定义其结
果判断机制
Syntax: match name { ... }
Default: —
Context: http
参数
status code[ code ...] # 期望的响应状
态码
header HEADER[operator value] # :期
望存在响应⾸首部,也可对期望的响应⾸首部的
值基于⽐比较操作符和值进⾏行行⽐比较
body # 期望响应报⽂文的主体部分应该有的内

Nginx中ngx_http_upstream_module模块的更多相关文章

  1. 20、nginx之ngx_http_upstream_module模块

    nginx的ngx_http_upstream_module模块是用于nginx反向代理的,默认在安装nginx时已经被安装,ngx_http_upstream_module模块 的内容应放于 ngi ...

  2. nginx中Geoip_module模块的使用

    nginx中Geoip_module模块的使用 .安装模块,nginx也是通过yum安装 yum install nginx-module-geoip -y # 可以看到模块的链接库文件 [root@ ...

  3. Nginx中ngx_http_proxy_module模块

    该模块允许将请求传递给另⼀一台服务器器指令:1 ,proxy_pass设置代理理服务器器的协议和地址以及应映射位置的可选 URI .作为协议,可以指定“ http 或 https .可以将地址指定为域 ...

  4. nginx中ngx_http_core_module模块

    http核⼼心模块指令:套接字相关的配置3.1 server{ }设置虚拟服务器器的配置Syntax: server { ... }Default: —Context: httpserver {lis ...

  5. Nginx中location模块的详细配置(含示例)

    题记 此前在配置Nginx location模块的时候玩出了一些bug,折腾了一段时间.后来网上也查阅了相关的资料,看着也比较混乱.周末有空想着好好整理一下location模块的配置,结合自己的亲手实 ...

  6. nginx中ngx_http_ssl_module模块

    此模块为HTTPS提供必要的⽀支持worker_processes auto;http {...server {listen 443 ssl;keepalive_timeout 70;ssl_prot ...

  7. nginx中ngx_http_gzip_module模块

    ⽤用gzip⽅方法压缩响应数据,节约带宽gzip on;gzip_min_length 1000;gzip_proxied expired no-cache no-store private auth ...

  8. nginx中的模块分类及常见核心模块有哪些

    1.模块分类 核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录 .配置文件解析 .事件驱动机制 .进程管理等核心功能 标准HTTP模块:提供 HTTP 协议解析相关的功能,比如 ...

  9. Nginx中ngx_http_log_module模块

    指定⽇日志格式记录请求指令: access_log设置缓冲⽇日志写⼊入的路路径,格式和配置Syntax: access_log path [format[buffer=size] [gzip[=lev ...

随机推荐

  1. hdu 1209 Clock

    Clock Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  2. 机器学习第二节_pandas_数据操作

    今天打个卡, 还不错,学到20课了, 简单的把pandas的操作过一遍, 这没有numpy学的好 1. 读取csv文件 import pandasfood_info = pandas.read_csv ...

  3. mysql只会使用到一个索引的原因

    select count(1) from table1 where column1 = 1 and column2 = 'foo' and column3 = 'bar' 其中column1,colu ...

  4. 【牛客网】Longest Common Subsequence

    [牛客网]Longest Common Subsequence 发现只有d数组最格路 于是我们把前三个数组中相同的数记成一个三维坐标,同一个数坐标不会超过8个 从前往后枚举d,每次最多只会更新不超过8 ...

  5. vs2019将小游戏打包成msi踩的坑(个人)

    1.VS无Setup projecrt? vs2015之前是自带打包msi功能的,vs2017之后需要自己去下载插件: 下载地址:https://marketplace.visualstudio.co ...

  6. 猴子补丁(Monkey Patching)

    猴子补丁是我在面试的时候接触的一到题,学python的时候,我根本就没有听说这个概念!那接下来我们来分析一下: 1.什么是猴子补丁? 2.猴子补丁的功能? 3.猴子补丁的应用场景? 一.什么是猴子补丁 ...

  7. Error: errCode: -404011 cloud function execution error | errMsg: clou……错误

    在开通了云开发之后,无论点击小程序获取openid按钮报,Error: errCode: -404011 cloud function execution error | errMsg: clou…… ...

  8. Golang mgo 模糊查询的使用

    在日常使用的Mongodb中,有一项功能叫做模糊查询(使用正则匹配),例如: db.article.find({"title": {$regex: /a/, $options: & ...

  9. Scratch编程:牛顿的苹果——地心引力

    牛顿的苹果 同学们,你们知道牛顿的苹果的故事吗? 传说1665年秋季,牛顿坐在自家院中的苹果树下苦思着行星绕日运动的原因.这时,一只苹果恰巧落下来,它落在牛顿的脚边.就是这个偶尔的瞬间,牛顿发现了苹果 ...

  10. 定义别名:typedef和using

    定义别名: