tomcat的集群(1、nginx)

概述

       tomcat的负载均衡的具体实现有很多种方式,常见的有3种:nginx方式,apache http server + jk,lvs+keepalived。本片博客主要讲解,nginx方式。


nginx的功能

       nginx的功能大致分为三种:普通的web服务器,反向代理,邮件代理服务器。实现tomcat集群用的nginx的反向代理服务器的功能。


负载均衡

       tomcat配置

              2个tomcat服务器,tomcat1的端口为9091,tomcat2的端口为9092,其中在两个tomcat中部署了相同的web应用程序,注意:为了便于区分访问那一个tomcat,我们在tomcat1的应用程序页面内容上添加tomcat1字符串,在tomcat2的应用程序页面内容上添加tomcat2字符串

       nginx配置

nginx.conf(nginx_home/conf)
    http {
        #服务器的集群
        upstream server_pool{
            server 191.168.24.21:8080 weight=1;#weight值越大分配概率越大
            server 191.168.24.22:8080 weight=2;
        }
        server {
            listen       80;
            server_name  localhost;              #请求域名
            location / {
                proxy_pass http://server_pool/;    #集群名称
                proxy_redirect default;
            }
        }
    }
              配置好后,浏览器输出:http://localhost:80/testNginx/testJsp.jsp,注意,localhost是nginx服务器的域名,端口是nginx监听的端口号,访问该网址后,nginx获得请求,然后,根据配置的集群名称,到里面找到具体的web服务器池,然后,根据负载均衡算法,选择具体的一个web服务器进行请求,内部的操作就是讲nginx的域名和端口变成具体web服务器的域名和端口号,这个过程对于我们来说是透明的,大概流程图如下:
tomcat的集群(1、nginx)_第1张图片


总结

       nginx的反向代理服务器功能,支持故障移除(具体web服务器坏了,就不在给他发请求了),故障恢复(坏的web服务器恢复正常后,就继续给他发请求),另外,通过nginx的配置,我们换可以缓存静态文件(图片,js,css)。

       nginx的功能很强大,但是,他的一个最大缺点就是单点故障问题,一旦nginx出现故障,那么,一切就over了,有没有解决的办法呢?有,lvs+keepalived就可以完美的解决这个问题。

       nginx负载均衡示例下载。


你可能感兴趣的:(tomcat的集群(1、nginx))