用于将多个服务器器定义成服务器器组,⽽而
由 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. 洛谷 题解 P1225 【黑白棋游戏】

    看见很多dalao写了什么双向BFS,蒟蒻表示不会写啊. 怎么办办? 先来分析一下题目,一眼看去就是一个搜索题,考虑DFS与BFS. 先放一份DFS的代码: #include<bits/stdc ...

  2. B9 Concurrent 重入锁(ReentrantLock)

    [概述] java.util.concurrent.locks.ReentrantLock 实现 java.util.concurrent.locks.Lock 接口,加锁(lock)和 解锁(unl ...

  3. 【转帖】一文看懂docker容器技术架构及其中的各个模块

    一文看懂docker容器技术架构及其中的各个模块 原创 波波说运维 2019-09-29 00:01:00 https://www.toutiao.com/a6740234030798602763/ ...

  4. [数据结构] - ArrayList探究

    一 概述 ArrayList可以理解为动态数组,与java的数组相比,它的容量能动态曾长,ArrayList是List接口的可变数组的实现,允许包括null值在内的所有元素.除了实现List接口外,此 ...

  5. C++中const关键字用法总结

    看完了c++ primer的基础篇,对const还是有点陌生,在这里小小地总结一下吧. 1) const与变量 在变量的定义前加上 const 修饰符即可完成const对象的创建. const int ...

  6. Dubbo#编译动态扩展类

    这篇排版有问题 后面修改....**** 以ExtensionLoader.getExtensionLoader(Protocol.class).getAdaptiveExtension();为例 - ...

  7. 把axios挂载到vue实例上面/==Axios 各种请求方式传递参数格式

    /*ajax请求*/   import axios from 'axios'   axios.defaults.baseURL = 'https://api.douban.com/v2/movie' ...

  8. 2019杭电多校一 A. Blank (dp)

    大意: 长为$n$的数组, 每个位置范围$[0,3]$, $m$个限制$(l,r,x)$表示$[l,r]$内有$x$种数, 求方案数. 维护每个数字最后一次出现位置, 暴力$DP$ 实现时有个技巧是把 ...

  9. 正则表达式的运行原理详解(NFA,多分支原理)

    原文:https://blog.csdn.net/yx0628/article/details/82722166

  10. (五)lucene之特定项搜索和查询表达式

    需求:模糊搜索. 前提:  本例中使用lucene 5.3.0 package com.shyroke.lucene; import java.io.File; import java.io.File ...