* upstream
~~~
upstream staticserver {
server 192.168.20.139:8085;
server 192.168.20.140:8085;
}
~~~
* server
~~~
Syntax: server address [parameters];
Default: —
Context: upstream
~~~
功能:在upstream配置段中,用来定义后端主机的
Parameters参数有如下
1)weight=number
配置每个后端服务器的权重
2)max_fails=number
配置请求尝试失败的次数
3)fail_timeout=time
这是一个设置参数,一般跟上面的参数协同使用。该参数的含义:
1:当连接后端server失败时,多长时间内可反复尝试连接后端server;
2:一旦超过这个设置时间段,则判断该server的状态为不可用(unavailable );
这个参数的默认值为10秒
4)down
手动标记某一台服务器为永久不可用(一般和ip_hash一起使用)
5)backup
当所有后端服务器上都不可用了,这个才会被生效
* keepalive
~~~
Syntax: keepalive connections;
Default: —
Context: upstream
This directive appeared in version 1.1.4.
~~~
二)调度方式
* ip_hash
功能:根据客户端的ip地址来调度,使得同一个客户端IP被始终定向到同一台upstream server
~~~
upstream backend {
ip_hash;
server backend1.example.com;
server backend2.example.com;
server backend3.example.com down;
server backend4.example.com;
}
~~~
* hash
~~~
Syntax: hash key [consistent];
Default: —
Context: upstream
This directive appeared in version 1.7.2.
~~~
功能:用来设置负载均衡中,客户端寻找各后端server基于hash函数。可以根据这里的key值做哈希,然后除以后端服务器的总权限,然后分配给某台server。
1)当摘除一个server或增加一个server,会导致hash重新计算,导致原来大多数key可能会寻找到不同server上
2)若使用consistent(一致性哈希算法),只有部分key会受影响
* sticky
安装第三方模块nginx-sticky-module-ng
git clone https://github.com/bymaximus/nginx-sticky-module-ng.git
1)重新编译nginx,添加如下
--add-module=/usr/local/src/nginx-sticky-module-ng
2)然后执行make,把objs/nginx 拷贝到/usr/local/nginx-1.12.1/sbin/
3)重新启动nginx
- 第一部分:Nginx Web服务
- 第一章: Nginx的初探
- 第二章:Nginx的安装部署
- 第一节:在centos6上通过Yum安装Nginx
- 第二节:在Centos7上通过Yum安装nginx
- 第三节:编译安装Nginx服务
- 第四节: Nginx编译参数详解
- 第五节: Nginx的启动脚本
- 第六节:Nginx的shell脚本安装
- 第七节:nginx服务的平滑升级
- 第三章:Nginx服务基础配置
- 第一节: 配置运行nginx服务器用户
- 第二节:配置运行生成的worker processes进程数
- 第三节:配置Nginx进程PID存放路径
- 第四节:定义MIME类型
- 第五节:自定义nginx的访问日志
- 第六节:主配置段(main)常用的配置
- 第七节:http段(核心)常用的配置命令
- 第八节:配置nginx中的location段
- 第九节: 基于IP的访问控制
- 第十节:基于用户的访问控制
- 第十一节:Nginx定义status状态页
- 第十二节:Nginx服务器Rewrite重写
- 第十三节:Nginx服务配置防盗链
- 第十四节:nginx软件的优点
- 第四章:Nginx服务器的优化配置
- 第一节:nginx.conf配置文件基本参数优化
- 第二节:fastcgi调优
- 第三节:Gzip调优
- 第四节:expires缓存调优
- 第五节:内核参数优化
- 第六节: Nginx之——413 修改上传文件大小限制
- 第五章:Nginx虚拟主机的配置
- 第一节:基于名称的虚拟主机
- 第二节:通过shell脚本添加虚拟主机
- 第六章:Nginx常用模块指令详解
- 第一节:ngx_http_realip_module
- 第二节:http_image_filter_module
- 第三节:tengine中配置consistent hash module
- 第四节:ngx_http_userid_module
- 第七章:Nginx服务器配置HTTPS访问
- 第八章: Nginx服务器日志切割
- 第二部分:Nginx负载均衡反向代理服务
- 第一章:Nginx进阶参数详解
- 第一节:proxy_module参数详解
- 第二节:upstream_module参数详解
- 第四章:Nginx反向代理服务
- 第一节:Nginx反向代理配置参数详解
- 第二节:Nginx反向代理服务配置案例
- 第三节:Nginx缓存
- 第四节: Nginx中fastcgi模块
- 第五节:nginx+fastcgi实现动静分离架构
- 第五章:Nginx负载均衡
- 第一节:ngx_http_upstream_module常见指令
- 第二节:调度方法
- 第三节:健康状态检查