简单总结
Apache2.2.4、tomcat 5.5.27 实现负载均衡集群和session共享
一、负载均衡
1.安装Apache2.2.4
2.将mod_jk-apache-2.2.4.so拷贝到modules目录下
jk是mod_jserv的替代者,是tomcat-apache差紧急啊,处理tomcat和apache间的通信,在集群配置中充当负载均衡的作用,jk要与apache的版本对应匹配才行。
3.在conf目录下创建workers.properties,此文件是jk的配置文件,和httpd.conf放在同一目录
添加以下内容
#server 列表
worker.list=controller,tomcat1,tomcat2,tomcat3,tomcat4
#========tomcat1========
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.port=8010
#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.host=192.168.20.19
worker.tomcat1.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.tomcat1.lbfactor=1
#========tomcat2========
#ajp13 端口号,在tomcat下server.xml配置,默认8009(同一机器上的多个tomcat需修改端口)
worker.tomcat2.port=8010
#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat2.host=192.168.20.20
worker.tomcat2.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.tomcat2.lbfactor=1
#========tomcat3========
#ajp13 端口号,在tomcat下server.xml配置,默认8009(同一机器上的多个tomcat需修改端口)
worker.tomcat3.port=8010
#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat3.host=192.168.20.21
worker.tomcat3.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.tomcat3.lbfactor=1
#========tomcat4========
#ajp13 端口号,在tomcat下server.xml配置,默认8009(同一机器上的多个tomcat需修改端口)
worker.tomcat4.port=8010
#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat4.host=192.168.20.22
worker.tomcat4.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.tomcat4.lbfactor=1
#========controller,负载均衡控制器========
#server名为controller,用于负载均衡
worker.controller.type=lb
#重试次数
worker.retries=3
#指定分担请求的tomcat
worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3,tomcat4
#粘性Session(默认是打开的) 当该属性值=True(或1)时,代表Session是粘性的,即同一Session在集群中的同一个节点上处理,Session不跨越节点。在集群环境中,一般将该值设置为False
worker.controller.sticky_session=false
#设置用于负载均衡的server的session可否共享 有不少文章说设置为1是可以的,也有设置为0才可以的
worker.controller.sticky_session=1
#worker.controller.sticky_session_force=1
#worker.status.type=status
4.在apache目录conf下新建mod_jk.conf文件,并添加以下信息
#Load mod_jk.module 加载mod_jk-apache-2.2.4.so
LoadModule jk_module modules/mod_jk-apache-2.2.4.so
#Where to find workers.properties
jkWorkersFile conf/workers.properties
#Where to put jk logs
jkLogFile logs/mod_jk.log
#Set the jk log level[debug/error/info]
jkLogLevel info
#Select the log format
#jkLogStampFormat"[%a %b %d %H:%M:%S %Y]"
#jkOptions indicate to send SSL KEY SIZE,jkOptions+ForwardKeySize+ForwardURICompat -ForwardDirectories
#Send JSPs for context/to worker named controller 设置过滤,controller为集群控制机名
jkMount /* controller #所有url请求,不管有没有后缀都起作用
jkMount /aabb* controller #若不加*则在访问IP:post/aabb后会访问不到,若想访问到则要加'/'如IP:post/aabb/
jkMount /*.* controller #只有有后缀都url请求起作用
也可制定转发类型
jKmount /servlet/* controller
jkMount /*.jsp controller
JkMount /*.do controller
JKMount /*.css controller
JKMount /*.js controller
JKMount /*.png controller
JKMount /*.jpg controller
JKMount /*.gif controller
5.修改apache的conf目录下的httpd.conf文件,在最后一行添加 include ...\mod_jk.conf
如include "C:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"
二、Tomcat集群
Tomcat集群配置
如果在同一机器上就需要将所有端口号修改为不同避免冲突
当前情况为不在同一机器
配置Tomcat A
将server.xml中 <Cluster。。。> </Cluster >的注释去掉
修改Engine 节点为
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
其中jvmRoute中的内容要和workers.properties中的list中的值相同
配置Tomcat B
将server.xml中 <Cluster。。。> </Cluster >的注释去掉
并修改Receiver节点中的tcpListenPort值,要与其他的Tomcat服务器区分开4001,4002等等
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
其中jvmRoute中的内容要和workers.properties中的list中的值相同.
如果还有以此类推
三、创建测试页面
新建项目并打成war包
修改index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body bgcolor="blue">
Server Info: <%out.print(request.getLocalAddr() + " : " + request.getLocalPort());%>
<%
out.println("<br> ID " + session.getId());
// 如果有新的 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);
}
%>
<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>
修改web.xml 加入<distributable/>已支持session复制(共享)
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>TomcatClusterDemo</display-name>
<distributable/>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
启动tomcat服务器及apache后,访问apache如192.168.1.1/项目名/index.jsp
如果成功则会跳转的tomcat服务器中的一个而且session内容会共享
分享到:
相关推荐
Apache Tomcat 5.5.27 是一个历史悠久的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。这个版本发布于2008年,虽然现在已经较为陈旧,但对于学习历史版本或者特定环境...
apache-tomcat-5.5.27.rar 解压版本apache-tomcat-5.5.27.rar 解压版本apache-tomcat-5.5.27.rar 解压版本apache-tomcat-5.5.27.rar 解压版本apache-tomcat-5.5.27.rar 解压版本
Apache Tomcat 5.5.27 是一个广泛使用的开源软件,它是一个符合Java Servlet和JavaServer Pages(JSP)规范的应用服务器,专门用于运行基于Java技术的Web应用程序。Tomcat是Apache软件基金会的Jakarta项目的一部分,...
虽然Apache Tomcat 5.5.27是一个较旧的版本,但了解其工作原理和配置方法对理解Tomcat的运作机制仍然很有帮助。随着技术的发展,更现代的版本如Tomcat 9.x提供了更多的功能和更好的性能,但基础知识和核心概念仍然...
Apache Tomcat是一款开源的Java应用服务器,主要用于运行...以上就是关于“apache-tomcat-5.5.27免安装版”的主要知识点,包括其组成部分、配置管理、安全性和性能优化等方面。希望对你理解Tomcat的使用有所帮助。
描述中的"apache-tomcat-5.5.27.zip"并没有提供额外的信息,但通常这样的描述意味着用户可以下载并解压此文件来获取Apache Tomcat 5.5.27的全部内容,包括配置文件、Web应用程序目录、库文件以及必要的脚本和文档。...
从Tomcat的主页上下载Tomcat5.5.27,推荐绿色版(zip),不用为重做系统而发愁. 2. 下载Tomcat5.5.27的admin包,解压缩后覆盖Tomcat5.5.27的根目录. 3. 在Tomcat5.5.27的根目录下conf文件夹里的tomcat-users.xml里, </...
在本文中,我们将深入探讨如何在CentOS 6.0操作系统上搭建一个基于Apache 2.4、PHP 5.4.7和MySQL 5.5.27的Web服务器环境。这个环境对于开发和部署基于LAMP(Linux、Apache、MySQL、PHP)的应用程序至关重要。 首先...
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.18(截止到2008...①gzip -d apache-tomcat-5.5.27.tar.gz 解压成.tar ②tar -xvf apache-tomcat-5.5.27.tar 解压成 apache-tomcat-5.5.27目录
标题“tomcat5.5.27”指的是Apache Tomcat服务器的一个特定版本,5.5.27。Apache Tomcat是一款开源的Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)技术,用于部署和运行Java Web应用程序。这个...
Apache Tomcat 5.5.27 是一个基于 Java Servlet 和 JavaServer Pages (JSP) 规范的应用服务器,它是 Jakarta 项目的一部分。Tomcat 支持多种版本的 Servlet 和 JSP 规范,其中 5.5.27 版本对应的是Servlet 2.4 和 ...
Apache Tomcat 5.5.27 是一个广泛使用的开源软件,它是一个符合Java Servlet和JavaServer Pages(JSP)规范的应用服务器,主要用于部署和运行Java Web应用程序。这个版本是针对Unix操作系统的,并且特别强调了对JDK ...