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参数内容
        }
}