环境说明
Apache :apache_2.0.55 1 个
Tomcat: apache-tomcat-5.5.17 (zip版) 2个
mod_jk:: mod_jk-apache-2.0.55.so 1个
第一部分:负载均衡
负载均衡,就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理
1.安装apche,tomcat
http://httpd.apache.org/ 下载Apache 2.0.55
http://tomcat.apache.org/download-55.cgi 下载tomcat5.5 zip版本(解压即可,绿色版)
http://apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/ 下载mod_jk,注意和 apache版本匹配
按照jdk,我的路径为:E:\ide\apache\Apache2
解压两份Tomcat, 路径分别为 E:\ide\tomcat1,E:\ide\tomcat2
下载mod_jk
2.修改Apache配置文件http.conf
在apache安装目录下conf目录中找到http.conf
在文件最后加上下面一句话就可以了
include "E:\ide\apache\Apache2\conf\mod_jk.conf"
ITPUB
2. http.conf 同目录下新建mod_jk.conf文件,内容如下
#加载mod_jk Module
LoadModule jk_module modules/mod_jk-apache-2.0.55.so
#指定 workers.properties文件路径
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器
JkMount /*.jsp controller
3.在http.conf同目录下新建 workers.properties文件,内容如下
worker.list = controller,tomcat1,tomcat2 #server 列表
#========tomcat1========
worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========tomcat2========
worker.tomcat2.port=9009 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat
worker.controller.sticky_session=1
4.修改tomcat配置文件server.xml
如果你在不同电脑上安装tomcat,tomcat的安装数量为一个,可以不必修改tomcat配置文件
我这里是在同一台电脑上安装两个tomcat,所以需要更改其中一个的设置
打开tomcat2/conf/server.xml文件
5.编写一个测试jsp
建立一个目录test.里面新建一个test.jsp,内容为
<%
System.out.println("===========================");
%>
把test放到tomcat1,tomcat2的webapps下
6.启动apache,tomcat1,tomcat2,进行测试
再刷新一次,tomcat2也打印了一条,再刷新,可以看到请求会被tomcat1,tomcat2轮流处理,实现了负载均衡
第二部分,配置集群
只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat, 集群内的tomcat都有相同的session
1. 修改tomcat1, tomcat2的server.xml,将集群部分配置的在注释符删掉,并将tomcat2的4001端口改为4002,以避免与tomcat冲突,当然,如果是两台电脑,是不用改端口的,去掉注释符即可
2,修改测试项目test
修改test.jsp,内容如下
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>");
// 如果有新的 Session 属性设置
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("<b>Session 列表</b>");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"<br>");
System.out.println( name + " = " + value);
}
%>
<form action="index.jsp" method="POST">
名称:<input type=text size=20 name="dataName">
<br>
值:<input type=text size=20 name="dataValue">
<br>
<input type=submit>
</form>
</body>
</html>
然后在test 新建WEB-INF目录,WEB-INF下新建web.xml,内容如下
注意:在你的应用的web.xml加入 <distributable/> 即可
ok,讲test复制到tomcat1,tomcat2的webapps下,重启apache,tomcat1,tomcat2,
新建一个 名称为 xiaoluo ,值为 cdut 的session,提交查询,新开一个ie窗口,再提交查询,如图,可以看到,两个tomcat 是负载均衡,并且session同步的
需要注意的是,配置集群时设置jvmRoute时,要把原来的Engine注释掉,去掉上面那一行的注释,也就是修改成
<!-- You should set jvmRoute to support load-balancing via JK/JK2 ie : -->
<Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="tomcat1">
分享到:
相关推荐
总结,配置Tomcat+Apache集群涉及多个步骤,包括安装和配置Apache和Tomcat,启用负载均衡,配置session复制,以及对集群进行持续监控和优化。通过这样的设置,可以提升Web应用的性能,增强系统的稳定性和容错能力。
tomcat+apache集群包括需要的资料
在构建高性能、高可用性的Web服务时,Apache与Tomcat的组合使用是非常常见的策略,尤其在需要实现负载平衡和集群的场景下。Apache通常作为前端服务器处理静态内容,而Tomcat则作为后端应用服务器处理动态请求。接...
【标题】"Tomcat+Apache+JK集群"指的是在Web服务器架构中,通过Apache HTTP Server与Tomcat应用服务器结合,并利用JK模块实现负载均衡和高可用性的集群部署方式。这种方式可以提升系统的性能和稳定性,应对高并发...
总结来说,Linux下配置Tomcat与Apache集群是一个涉及到内存管理、负载均衡、服务更新和故障恢复的复杂过程。正确配置能够显著提升Web应用的稳定性和效率,同时降低单点故障的风险。在实际操作中,还应结合具体业务...
- 在Tomcat的`server.xml`或`context.xml`中,配置Engine或Host元素以支持集群和session复制。 - 对于session复制,需要开启集群模式并在`server.xml`中添加`<Cluster>`元素。 7. **session复制**: - 在集群...
本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 Apache 和 Tomcat 服务器、配置负载均衡控制器等。 一、安装 Apache 服务器 首先,需要安装 Apache ...
本文将详细介绍如何在一机双Tomcat环境下搭建Apache+Tomcat集群,并深入解析其中的关键配置和技术细节。 #### 二、Apache+Tomcat集群的优势 1. **高可靠性(HA)**:通过集群管理软件实现在主服务器发生故障时,备份...
apache tomcat负载集群,appache负载,tomcat负载
### Apache+Tomcat+Linux集群和负载均衡 在IT领域,Apache+Tomcat+Linux集群与负载均衡技术是实现高可用性、高性能Web服务的重要手段之一。本文将围绕这一主题展开详细讨论,涵盖关键技术概念、配置流程及注意事项...
tomcat+apache集成详细说明,有用红笔详细标识
### Apache和Tomcat集群配置详解 #### 一、软件准备 在进行Apache和Tomcat集群配置之前,首先需要准备所需的软件资源。 - **Apache 2.2**: - Windows平台: 从官方网站 [http://httpd.apache.org/download.cgi]...
标题中的“tomcat + apache + memcached 集群jar包”揭示了这是一个关于构建分布式系统的技术组合,其中涉及到三个核心组件:Tomcat(一个流行的Java应用服务器)、Apache(一个广泛应用的HTTP服务器)和Memcached...
以下是对标题“tomcat+apache+jk集群和负载均衡”以及描述“tomcat+apache+jk集群和负载均衡”的深入解析,涵盖其原理、配置步骤以及关键参数调整。 ### 1. 理论基础 #### Tomcat Tomcat是Apache软件基金会下的一...
将Apache与Tomcat集成配置成集群,可以提高网站的可用性和可扩展性,实现负载均衡,提升服务性能。 集群的基本概念是将多个独立的服务器节点组织在一起,以一个整体对外提供服务,当某个节点出现问题时,其他节点...