通过对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负载均衡,但是原理都一样。
分享到:
相关推荐
首先大家注意: 本文章中没有session共享,关于session共享我会在下一篇中讲解,先实现Nginx+tomcat负载均衡再实现session共享。 从网上查了好多资料,多走了很多弯路,现在把自己成功的方法拿出来与大家分享。 ...
tomcat负载均衡架构及会话复制集群的实现视频 总共是分三个阶段讲解
本篇文章将详细讲解如何使用Nginx作为反向代理服务器来实现对Tomcat应用服务器的负载均衡和集群配置。 首先,我们需要理解Nginx和Tomcat的角色。Nginx是一款高性能的HTTP和反向代理服务器,常用于处理静态内容和...
本教程将详细讲解如何在Linux系统上安装Nginx、Keepalived,并进行Tomcat的负载均衡配置,以及动静分离的设置,涵盖主备模式和双主模式。通过实践这些步骤,你可以提升服务器的稳定性和性能。 首先,我们需要安装...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,而"nginx+tomcat实现负载均衡1"的主题就是探讨如何通过Nginx反向代理和Tomcat应用服务器结合,来提升系统的性能和稳定性。这一组合是业界常用的一种架构模式,...
本教程将详细讲解如何通过`Nginx`实现`Tomcat`集群的负载均衡,并实现`session`共享。 首先,我们要理解负载均衡的基本概念。负载均衡是通过将工作负载分散到多个计算资源,以优化资源使用、最大化吞吐量、最小化...
配置Apache2+Tomcat负载均衡的步骤如下: 1. **安装Apache2和Tomcat**:首先,你需要在Windows系统上安装Apache2和至少两个Tomcat实例。确保它们在不同的端口上运行,例如,Tomcat1在8080端口,Tomcat2在8081端口。...
本主题主要围绕如何使用Apache HTTP Server(简称Apache)和Tomcat来实现负载均衡进行讲解。 Apache是世界上最广泛使用的Web服务器,它支持多种模块扩展,能够处理各种功能,包括负载均衡。而Tomcat是一款开源的...
实现Tomcat负载均衡的步骤如下: 1. **配置Tomcat多实例**:首先,我们需要在一台服务器上部署多个Tomcat实例,确保每个实例使用不同的端口号以避免冲突。这可以通过复制Tomcat目录并修改`server.xml`文件中的端口...
本篇将详细讲解如何在Nginx+Tomcat+Redis环境中实现负载均衡,并讨论session管理的关键知识点。 首先,Nginx是一个强大的HTTP和反向代理服务器,它能够通过分发请求到多个后端服务器来实现负载均衡。Nginx支持多种...
本实例将详细讲解如何使用Nginx作为反向代理和负载均衡器,结合Tomcat9作为Java应用服务器来搭建一个负载均衡系统。Nginx以其高性能、轻量级的特性,常被用作前端服务器,负责将用户请求分发到后端多个Tomcat实例上...
【Nginx 实现负载均衡】是指通过 Nginx 作为反向代理服务器,...通过以上步骤,我们完成了 Nginx 的安装、配置,以及负载均衡的设置,使得两个 Tomcat 服务器可以共同承担来自客户端的请求,提高了系统的稳定性和效率。
总结,通过以上步骤,你可以在Windows环境下建立一个基于Nginx的Tomcat负载均衡服务器。这有助于在高并发访问下保持系统的稳定性和响应速度,同时通过故障转移确保服务的可用性。记得在实际环境中根据服务器数量、...
在构建高性能、高可用性的Web应用系统时,配置Tomcat集群和负载均衡是至关重要的步骤。本主题将详细讲解如何利用Tomcat 7、Nginx和Memcached来实现这一目标,同时关注session共享和Kryo序列化技术。 首先,Tomcat 7...
本文将详细讲解如何配置Apache和Tomcat的集群以及实现负载均衡。 **一、Apache与Tomcat集群** 1. **Apache作为反向代理** Apache可以作为反向代理服务器,将客户端的请求转发到后端的多个Tomcat实例上,实现负载...
在构建高可用性和高性能的Web服务时,常常会采用Nginx作为反向代理服务器,配合多台Tomcat应用服务器实现负载均衡。本教程将详细讲解如何配置Nginx与三台Tomcat服务器,以及如何为整个系统添加HTTPS支持。 **一、...
标题中的"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** Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高效的特性受到广泛应用。在负载...