nginx的负载模式
多节点负载的配置
1 | upstream client { |
upstream 的分配方式
轮询
1
2
3
4upstream client {
server 192.168.2.1:20031;
server 192.168.2.1:20011;
}权重
1
2
3
4upstream client {
server 192.168.2.1:20031 weight=1;
server 192.168.2.1:20011 weight=1;
}ip_hash:每个请求按照访问IP的hash结果分配,这样每个client固定访问一个后端,可以解决session一致的问题。1
2
3
4
5upstream client {
ip_hash;
server 192.168.2.1:20031 weight=1;
server 192.168.2.1:20011 weight=1;
}url_hash:每个请求按照url的hash结果分配,使得每个url固定访问一个后端,主要用于缓存服务器。1
2
3
4
5
6
7upstream client {
hash $request_uri;
# 一致性算法
hash_method crc32;
server 192.168.2.1:20031 weight=1;
server 192.168.2.1:20011 weight=1;
}fair:根据后端响应时间来分配,即rt越短,有限分配级别越高1
2
3
4
5upstream client {
fair;
server 192.168.2.1:20031 weight=1;
server 192.168.2.1:20011 weight=1;
}
upstream节点参数配置
server 后的参数
1 | upstream client { |
address:地址必须配置down:标记server停用backup:标记是备用服务器weight:设置权重max_fails、fail_timeout:错误次数、达到错误次数多久不再访问
引用参数
fastcgi.conf 文件里有一些可以使用的参数
1 | location / { |
一个多节点负载的配置
1 | http { |
校验客户端IP指向固定的集群地址
1 | location / { |
proxy_pass 路径
URL地址:127.0.0.1/demo/index.html
实际访问i地址:client/demo/index.html
1 | location /demo { |
静态地址
URL地址:127.0.0.1/index.html
实际访问i地址:/home/front/index.html
1 | location / { |
安装之前
1 | sudo yum install -y yum-utils |
前后端分离的集群 session处理
后端是一个集群部署,后端路径与前端路径不同,则需要复制 session。
1 | server { |
如果是 java 后端,还需要配置
1 | registry.addMapping("/**") |