Nginx Tomcat集群搭建
Nginx配置
#配置上游服务器
upstream tomcats {
server 192.168.3.26:8080;
server 192.168.3.27:8080;
server 192.168.3.28:8080;
}
server {
listen 80;
server_name www.tomcats.com;
location / {
proxy_pass http://tomcats;
}
}
##使用JMeter测试但节点与集群并发异常率 JMeter是apache的一个基于java的测试工具 下载地址:https://jmeter.apache.org/download_jmeter.cgi ##负载均衡之轮询 nginx负载均衡默认的策略是轮询 ##负载均衡之加权轮询 通过配置权重,来实现轮训,权重越大,被分配流量越多。
upstream tomcats {
server 192.168.3.26:8080 weight=1;
server 192.168.3.27:8080 weight=2;
server 192.168.3.28:8080 weight=5;
}
##upstream指令参数 ###max_conns
指配置到上游的每个服务器的最大链接数,根据每个服务器能够承受的最大流量,起到保险丝的作用。默认值是0,代表不做任何限制。1.11.5版本之前只有商业版才能使用。如果是在共享内存使用的话,nginx每个work工作进程都可以使用。
upstream tomcats {
server 192.168.3.26:8080 max_conns=1;
server 192.168.3.27:8080 max_conns=2;
server 192.168.3.28:8080 max_conns=5;
}
###slow_start
慢启动,主要用于,当某个服务器加入到集群后,不希望直接加入,需要启动一些软件之后在加入到集群,例如:启动监控服务等。如果该服务器配置的权重是10,设置了该值之后,他会慢慢的将权重加到10,对于hash和random方式的负载均衡是不支持的。对于单个服务器,这个参数是不适用的,需要至少有两个才行。 (商业版才能使用这个参数)
upstream tomcats {
server 192.168.3.26:8080 weight=6 slow_start=60s;
server 192.168.3.27:8080 weight=2;
server 192.168.3.28:8080 weight=2;
}
###down
标识服务器为不可用状态。
upstream tomcats {
server 192.168.3.26:8080 down;
server 192.168.3.27:8080 weight=2;
server 192.168.3.28:8080 weight=2;
}
###backup
标识服务器只有在其他服务器挂掉之后才会启用,相当于备用机。
upstream tomcats {
server 192.168.3.26:8080 backup;
server 192.168.3.27:8080 weight=2;
server 192.168.3.28:8080 weight=2;
}
###max_fails
最大失败次数,如果服务器请求失败次数,达到最大的失败次数,那么nginx就会把对应的服务器剔除,请求就不会到达该服务器。 ###fail_timeout 配合
max_fails
参数使用,当请求失败次数达到最大时,在接下来的错误时间段内,请求不会到达这台服务器,等到fail_timeout
时间之后,nginx会再次尝试请求这台服务器。
upstream tomcats {
server 192.168.3.26:8080 max_fails=2 fail_timeout=15s;
server 192.168.3.27:8080 max_fails=2 fail_timeout=15s;
server 192.168.3.28:8080 max_fails=2 fail_timeout=15s;
}
##使用Keepalived提高吞吐量
Keepalive的作用是将链接作为长链接,大大的减少了链接创建和断开时间上的消耗。
upstream tomcats {
server 192.168.3.26:8080;
server 192.168.3.27:8080;
server 192.168.3.28:8080;
keepalive 32;
}
server {
listen 80;
server_name www.tomcats.com;
location / {
proxy_pass http://tomcats;
proxy_http_version 1.1; #http 版本
proxy_set_header Connection ""; #清空header Connection参数内容
}
}