nginx 集群upstream设置 常用指令参数及示例
一、upstream指令参数
1. max_conns 节点服务器的最大连接数 服务器的并发最大连接数 可以设置合理范围 相当于限流
例如:server 10.10.201.164:80 max_conns=1024;
2.slow_start (商业版本nginx才支持)缓慢启动时间 默认为关闭的 设置某台服务器 流量由少到多的过程 需要先设置weight
例如:server 10.10.201.164:80 weight=10 slow_start=60s;
3. down 节点下线 代表某一台服务器是不可用的
例如:server 10.10.201.164:80 down;
server 10.10.201.163:80 weight=2;
server 10.10.201.162:80 weight=3;
4. backup 备用节点 只有其他的机器掉线 此服务器才上线服务
例如: server 10.10.201.164:80 backup;
server 10.10.201.163:80 weight=2;
server 10.10.201.162:80 weight=3;
5. max_fails 允许的最大失败数 默认为1 到达设置的数据 就认为这个服务down机了
6. fail_timeout 超过最大失败数后的等待时间 默认为10秒
max_fails fail_timeout 需要配合使用
例如:如果164服务器错误了10个请求 集群认为此服务器宕机 将不再让客户端访问 并且设定30秒后尝试继续访问此服务器 如果30秒内还是错误10个请求 继续将此服务器 剔除此集群 30秒后再尝试 如此往复 知道服务器相应错误少于10
upstream www.hahaha123.com {
server 10.10.201.164:80 max_fails=10 fail_timeout=30s;
server 10.10.201.163:80 weight=2;
server 10.10.201.162:80 weight=3;
7.weight 权重 可以设置数字 例如weight=5
二、Nginx长链接 keepalive设置
增加服务器的吞吐量
upstream www.hahaha123.com {
server 10.10.201.164:80 backup;
server 10.10.201.163:80 weight=2;
server 10.10.201.162:80 weight=3;
keepalive 32;
}
server {
listen 80;
server_name www.hahaha123.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
index info.php index.html index.htm;
proxy_pass http://www.hahaha123.com;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
完成!