`
feirou520
  • 浏览: 119534 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

讲解tomcat负载均衡的主设置

阅读更多

通过对Apache的安装和一些负载因子,以及服务器的一些设置问题做了介绍之后,我们对整个操作系统概念有了一个全面的认识。那么现在是时候进行Tomcat负载均衡的配置介绍了。这个才是我们的核心问题。通过不同的服务器集群,它的负载配置难度也不尽相同。

如果仅仅为了配置一个可用的集群,Tomcat的负载均衡配置将会非常简单。分别打开两个tomcat的server.xml配置文件,其中一台可 以采用默认的设置,只需要修改两个地方,而另一个要有较大改动以避免与前一台冲突。如果两台不在同一台服务器上运行,对于端口就不需做改动。首先是配置关 闭端口,找到<Server port="8005" shutdown="SHUTDOWN">,第一台不变,把第二台改为9005。

下面配置Connector的端口,找到non-SSL HTTP/1.1 Connector,即tomcat单独工作时的默认Connector,保留第一台默认配置,在8080端口侦听,而把第二台设置为在9080端口侦 听。往下找到AJP 1.3 Connector,<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,这是tomcat接收从Apache过来的ajp连接请求时使用的端口,保留第一台默认设置,把第二台端口改为9009。第一台tomcat 的server.xml中找到<Engine name="Catalina" defaultHost="localhost">,去掉这段或改为注释,把上方紧挨的<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">注释符去掉,对于第二台,去掉注释符并把jvm1改为jvm2。

向下找到<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>,去掉注释,这里的配置是 为了可以在集群中的所有tomcat负载均衡节点间共享会话(Session)。如果仅仅为了获得一个可用的tomcat集群,Cluster只需要这么 配置就可以了。

只需要简单的几步就配置完成,然后可以测试一下tomcat负载均衡是否配置成功。引用网上的一个测试方法,就是在webapps目录下新建test目录,在test目录下新建test.jsp文件,代码我稍作改动如下:

   1. <%@ page contentType="text/html; charset=GBK" %> 
   2. <%@ page import="java.util.*" %> 
   3. <html><head><title>shiyang</title></head> 
   4. <body> 
   5.  
   6. 服务信息:  
   7. <%  
   8. out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br/>");%> 
   9. <%  
  10. out.println("<br> ID " + session.getId()+"<br/>");   
  11. String dataName = request.getParameter("dataName");  
  12.  
  13. if (dataName != null && dataName.length() > 0) {  
  14. String dataValue = request.getParameter("dataValue");  
  15. session.setAttribute(dataName, dataValue);  
  16. }  
  17.  
  18. out.print("<b>Session 列表</b><br/>");  
  19. Enumeration e = session.getAttributeNames();  
  20.  
  21. while (e.hasMoreElements()) {  
  22. String name = (String)e.nextElement();  
  23. String value = session.getAttribute(name).toString();  
  24. out.println( name + " = " + value+"<br/>");  
  25. System.out.println( name + " = " + value);  
  26. }  
  27. %> 
  28. <form action="test.jsp" method="POST"> 
  29.  
  30. 名称:<input type=text size=20 name="dataName"> 
  31. <br/> 
  32. 值:<input type=text size=20 name="dataValue"> 
  33. <br/> 
  34. <input type=submit value="提交"> 
  35. </form> 
  36. </body> 
  37. </html> 
 

在test目录下继续新建WEB-INF目录和web.xml,在<web-app>节点下加入<distributable />,这一步非常重要,是为了通知tomcat服务器,当前应用需要在集群中的所有节点间实现Session共享。如果tomcat中的所有应用都 需要Session共享,也可以把conf/context.xml中的<Context>改为<Context distributable="true">,这样就不需对所有应用的web.xml再进行单独配置。测试代码完成!

先启动Apache服务,在先后启动两台tomcat,分别点startup.bat批处理。如果一切顺利的话,就会启动成功。再次访问 http://localhost,可以看到小猫页面。访问http://localhost/test/test.jsp。可以看到包括服务器地址,端 口,session等信息在内的页面。

然后你可以测试一下容错功能,关闭一个tomcat,看看服务是否正常,然后重启tomcat,关掉另一台tomcat,看看是否也可以继续提供服务。当然你也可以配置多台tomcat负载均衡,但是原理都一样。

分享到:
评论

相关推荐

    Nginx+Tomcat负载均衡

    首先大家注意: 本文章中没有session共享,关于session共享我会在下一篇中讲解,先实现Nginx+tomcat负载均衡再实现session共享。 从网上查了好多资料,多走了很多弯路,现在把自己成功的方法拿出来与大家分享。 ...

    tomcat负载均衡架构及会话复制集群的实现视频

    tomcat负载均衡架构及会话复制集群的实现视频 总共是分三个阶段讲解

    实现基于nginx的tomcat负载均衡和集群配置

    本篇文章将详细讲解如何使用Nginx作为反向代理服务器来实现对Tomcat应用服务器的负载均衡和集群配置。 首先,我们需要理解Nginx和Tomcat的角色。Nginx是一款高性能的HTTP和反向代理服务器,常用于处理静态内容和...

    linux安装nginx+keepalived,和tomcat负载均衡配置,动静分离配置,主备和双主模式

    本教程将详细讲解如何在Linux系统上安装Nginx、Keepalived,并进行Tomcat的负载均衡配置,以及动静分离的设置,涵盖主备模式和双主模式。通过实践这些步骤,你可以提升服务器的稳定性和性能。 首先,我们需要安装...

    nginx+tomcat实现负载均衡1

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"nginx+tomcat实现负载均衡1"的主题就是探讨如何通过Nginx反向代理和Tomcat应用服务器结合,来提升系统的性能和稳定性。这一组合是业界常用的一种架构模式,...

    Nginx+tomcat 实现负载均衡session共享demo

    本教程将详细讲解如何通过`Nginx`实现`Tomcat`集群的负载均衡,并实现`session`共享。 首先,我们要理解负载均衡的基本概念。负载均衡是通过将工作负载分散到多个计算资源,以优化资源使用、最大化吞吐量、最小化...

    Apache2+Tomcat 负载均衡(windows环境)

    配置Apache2+Tomcat负载均衡的步骤如下: 1. **安装Apache2和Tomcat**:首先,你需要在Windows系统上安装Apache2和至少两个Tomcat实例。确保它们在不同的端口上运行,例如,Tomcat1在8080端口,Tomcat2在8081端口。...

    使用apache,tomcat做负载均衡

    本主题主要围绕如何使用Apache HTTP Server(简称Apache)和Tomcat来实现负载均衡进行讲解。 Apache是世界上最广泛使用的Web服务器,它支持多种模块扩展,能够处理各种功能,包括负载均衡。而Tomcat是一款开源的...

    Nginx实现tomcat与weblogic集群的负载均衡及故障处理

    实现Tomcat负载均衡的步骤如下: 1. **配置Tomcat多实例**:首先,我们需要在一台服务器上部署多个Tomcat实例,确保每个实例使用不同的端口号以避免冲突。这可以通过复制Tomcat目录并修改`server.xml`文件中的端口...

    Nginx+Tomcat+Redis实现负载均衡过程中session所需架包

    本篇将详细讲解如何在Nginx+Tomcat+Redis环境中实现负载均衡,并讨论session管理的关键知识点。 首先,Nginx是一个强大的HTTP和反向代理服务器,它能够通过分发请求到多个后端服务器来实现负载均衡。Nginx支持多种...

    Nginx+Tomcat9搭建负载均衡实例,解压即可运行

    本实例将详细讲解如何使用Nginx作为反向代理和负载均衡器,结合Tomcat9作为Java应用服务器来搭建一个负载均衡系统。Nginx以其高性能、轻量级的特性,常被用作前端服务器,负责将用户请求分发到后端多个Tomcat实例上...

    nginx实现负载均衡(2个tomcat)

    【Nginx 实现负载均衡】是指通过 Nginx 作为反向代理服务器,...通过以上步骤,我们完成了 Nginx 的安装、配置,以及负载均衡的设置,使得两个 Tomcat 服务器可以共同承担来自客户端的请求,提高了系统的稳定性和效率。

    Windows_Nginx_Tomcat_负载均衡服务器

    总结,通过以上步骤,你可以在Windows环境下建立一个基于Nginx的Tomcat负载均衡服务器。这有助于在高并发访问下保持系统的稳定性和响应速度,同时通过故障转移确保服务的可用性。记得在实际环境中根据服务器数量、...

    tomcat7+nginx+memcached 配置tomcat 集群以及负载均衡

    在构建高性能、高可用性的Web应用系统时,配置Tomcat集群和负载均衡是至关重要的步骤。本主题将详细讲解如何利用Tomcat 7、Nginx和Memcached来实现这一目标,同时关注session共享和Kryo序列化技术。 首先,Tomcat 7...

    apache、tomcat集群和负载均衡配置

    本文将详细讲解如何配置Apache和Tomcat的集群以及实现负载均衡。 **一、Apache与Tomcat集群** 1. **Apache作为反向代理** Apache可以作为反向代理服务器,将客户端的请求转发到后端的多个Tomcat实例上,实现负载...

    Nginx+Tomcat配置3台负载均衡及https.docx

    在构建高可用性和高性能的Web服务时,常常会采用Nginx作为反向代理服务器,配合多台Tomcat应用服务器实现负载均衡。本教程将详细讲解如何配置Nginx与三台Tomcat服务器,以及如何为整个系统添加HTTPS支持。 **一、...

    tomcat服务集群+apache负载均衡+jk链接tomcat-apache

    标题中的"tomcat服务集群+apache负载均衡+jk链接tomcat-apache"涉及的是一个常见的Web服务器架构,其中Apache HTTP Server作为前端负载均衡器,通过JK模块与后端的Tomcat集群进行通信,以实现高可用性和性能优化。...

    服务器负载均衡详解及示例

    本篇将详细讲解服务器负载均衡,并结合具体的示例,包括Tomcat集群配置和JVM适配,以及相关的系统参数调整。 首先,我们来看JVM参数调整。在Tomcat的bin目录下的catalina.sh文件中,可以通过设置JAVA_OPTS环境变量...

    Nginx+Tomcat+Memcached实现负载均衡过程中session所需架包

    本文将详细讲解如何利用Nginx、Tomcat和Memcached搭建一个负载均衡系统,并重点阐述session管理的相关知识点。 **Nginx** Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高效的特性受到广泛应用。在负载...

Global site tag (gtag.js) - Google Analytics