文章目录
upstream指令参数
配置多台Tomcat
在核心配置文件nginx.conf中添加:
#配置上游服务器
upstream tomcats{
server 199.12.2.3:8080 ;
server 199.12.2.4:8080;
server 199.12.2.5:8080;
}
server{
listen 80;
server_name www.tomcats.com;
location{
proxy_pass http://tomcats;
}
}
默认是轮询机制,加权重
upstream tomcats{
server 199.12.2.3:8080 weight=2;
server 199.12.2.4:8080 weight=1;
server 199.12.2.5:8080 weight=3;
}
max_conns 最大连接数
用于避免过载,可起到限流作用。
限制上游服务器最大连接数,下面配置,同时处理的最大请求数是6
upstream tomcats{
server 199.12.2.3:8080 max_conns=2;
server 199.12.2.4:8080 max_conns=1;
server 199.12.2.5:8080 max_conns=3;
}
slow_start
商业版才能使用
hash 和random lb不适用
单个服务器也不适用
upstream tomcats{
#slow_start=60s 在60s后权重从0开始慢慢增长到9
server 199.12.2.3:8080 weight=9 slow_start=60s;
server 199.12.2.4:8080 weight=1;
server 199.12.2.5:8080 weight=3;
}
down 不可用
hash 和random lb不适用
upstream tomcats{
#down 配置后,199.12.2.3不能被用户访问
server 199.12.2.3:8080 down;
server 199.12.2.4:8080 weight=1;
server 199.12.2.5:8080 weight=3;
}
backup 备用机
hash 和random lb不适用
upstream tomcats{
#backup一般不能被用户访问,只有当其他服务器挂掉之后,才能访问
server 199.12.2.3:8080 backup;
server 199.12.2.4:8080 weight=1;
server 199.12.2.5:8080 weight=3;
}
max_fails 最大失败次数
失败次数达到配置数后,Nginx会把他剔除出去,后续请求不会再请求进来
fail_timeout 失败等待时长
请求失败后,当Nginx认为他有问题,不会接受请求,但是会等待timeout 设置的时间后,再次尝试是否可以用。
upstream tomcats{
#max_fails=2 失败两次,标记服务器已经宕机,剔出上游服务
#fail_timeout=10s标记服务器已经宕机,等待10s后再次尝试,如果还是失败,重复上次操作,直到恢复
server 199.12.2.3:8080 max_fails=2 fail_timeout=10s;
server 199.12.2.4:8080 weight=1;
server 199.12.2.5:8080 weight=3;
}
使用keepalive提高吞吐量
#配置上游服务器
upstream tomcats{
server 199.12.2.3:8080 ;
server 199.12.2.4:8080;
server 199.12.2.5:8080;
keepalive 32;
}
server{
listen 80;
server_name www.tomcats.com;
location{
proxy_pass http://tomcats;
proxy_http_version 1.1;
#清除connection header 信息
proxy_set_header Connection "";
}
}