apache2.2.25+mod_jk-apache-2.2.2.so+apache-tomcat-7.0.56集群

1.安装httpd-2.2.25-win32-x86-no_ssl.msi
按默认安装路径,我电脑如果自定义的话安装不了
2.下载mod_jk-apache-2.2.2.so
3.下载tomcat 我用的是apache-tomcat-7.0.56
4.首先设置各个tomcat的端口如果在同一台电脑上需保证端口号的唯一
打开server.xml文件修改里面的属性
<Server port="9015" shutdown="SHUTDOWN">这个端口要唯一 <Connector port="9080" protocol="HTTP/1.1" URIEncoding="UTF-8"/> 这个可以注释掉,不需要暴露tomcat出去了,apache是通过ajp协议通信的 <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />这个端口要唯一 <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">设置名称tomcat1 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">添加这个
打开各个tomcat保证各个tomcat能够正常启动
5.现在这一步稍微复杂一点,做配置文件
6.首先把mod_jk-apache-2.2.2.so文件复制到apache安装路径下的modules文件夹下
7.然后在conf文件夹下打开httpd.conf文件在文件最后添加
#指定模块路径
LoadModule jk_module modules/mod_jk.so
#指定mod_jk的workers定义
Include "C:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"
8.然后新建mod_jk.conf文件,此文件再conf下新增。
JkWorkersFile conf/workers.properties
JkMount /*.jsp controller
JkMount /*.do controller
9.然后新建workers.properties文件,此文件再conf下新增
#server
#控制器名称
worker.list=controller
#==========tomcat1===========
#ajp协议的端口,如果2个tomcat部署在同一个服务器中,那个ajp端口需要不同
worker.tomcat1.port=9009
#tomcat的所在主机的ip,如果是本机,则写本机的ip即可
worker.tomcat1.host=172.16.80.107
#协议类型
worker.tomcat1.type=ajp13
#负载因子
#如果2个tomcat,该参数相同,表示等比例,如果想tomcat负载多一点,只要把这个参数改的大一点即可,具体多少还是得看情况
worker.tomcat1.lbfactor=1 #==========tomcat2===========
worker.tomcat2.port=8809
worker.tomcat2.host=172.16.80.107
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1 #===================controller,负载均衡控制器=========
worker.controller.type=lb
#请求失败以后重试次数
worker.controller.retries=3
#controller控制的tomcat的名称,分别为tomcat1和tomcat2,由tomcat中的server.xml中设值
worker.controller.balance_workers=tomcat1,tomcat2
#回话是否有粘性,false表示无粘性,同一个回话的请求会到不同的tomcat中处理
worker.controller.sticky_session=false
#当一个节点蹦了,如果设值为true,那么服务器返回500错误给客户端,如果设值为false,则转发给其他的#tomcat,但是会丢失回话信息
worker.controller.sticky_session_force=false
#worker.controller.max_reply_timeouts=10
10. 新建一个web项目test,项目中 web.xml中必须添加<distributable/>属性
新建一个jsp页面test2.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.println("<b>Session 列表</b><br>");
System.out.println("============================");
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="test2.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>
然后部署项目
最后启动apache在启动tomcat,然后访问项目
http://localhost/test/test2.jsp
显示
Server Info: localhost : 80
ID 70B5A490CDCA86E0A1D75019F03B8AFD.tomcat2
Session 列表
1 = 1
名称:
值:
apache2.2.25+mod_jk-apache-2.2.2.so+apache-tomcat-7.0.56集群的更多相关文章
- apache2.2.25+tomcat7.0.47集群方案
因为公司项目在线人数的增加,随着现在硬件成本越来越低,大多数的生产环境内存大多都已经达到 16G,尤其最新的阿里云,客户的机器都是配置超高的java主机,但是Java的运行环境,内存使用有限 ,这样就 ...
- 基于Apache的Tomcat负载均衡和集群(2)
反向代理负载均衡 (Apache+JK+Tomcat) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的.这种代理方式 ...
- Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)
最近公司要给客户提供一套集群方案,项目组采用了Apache和Tomcat的集群配置,用于实现负载均衡的实现. 由于以前没有接触过Apache,因此有些手生,另外在网上搜寻了很多有关这方面的集群文章,但 ...
- linux下一个apache+tomcat负载均衡和集群
先说一下我的环境 一个ubuntu虚拟机, 一个apache2.2示例 两tomcat1.7示例 1.安装apacheserver sudo apt-get install apache2 假设要重新 ...
- Apache、Tomcat负载均衡与集群
一. 环境准备 1.软件下载 a) apache_2.0.55-win32-x86-no_ssl.msi: b) apache-tomcat-5.5.17.rar c) mod_jk-apache-2 ...
- apache + tomcat 负载均衡分布式集群配置
Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...
- Apache tomcat高可用web集群搭建过程配置记录
说明,本文仅作为个人搭建配置保存,问题处理没有一一列出,过程也未见详尽,有问题的朋友可以直接留言给我,会一一回复,谢谢. 小目标: 支持故障转移(或主备,扩展性不佳),保证故障转移后,对前端用户透明, ...
- 使用apache和nginx代理实现tomcat负载均衡及集群配置详解
实验环境: 1.nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 ...
- Apache+tomcat配置动静分离(一个apache一个tomcat,没有做集群)
1. 下载apache http server,tomcat,mok_jk.so apache下载地址:http://httpd.apache.org/download.cgi tomcat下载地址: ...
随机推荐
- 第五节 面向连接传输:TCP
第五节 面向连接传输:TCP TCP概述RFCs:793,1122,1323,2018,2581 点对点: 一个发送方,一个接收方 可靠,按序的字节流: 无“报文边界”,无结构但有 ...
- how computer boot up?
The power button activates the power supply in the PC, sending power to the motherboard and other co ...
- ffmpeg 录屏 screen capture recorder
ffmpeg在Linux下用X11grab进行屏幕录像,在Windows下用DirectShow滤镜 首先需要安装一个软件,screen capture recorder 编译好的下载地址是: htt ...
- iOS 2x 3x
iOS中: 备注: Retina是一种显示技术,可以将把更多的像素点压缩至一块屏幕里,从而达到更高的分辨率并提高屏幕显示的细腻程度.而其最初该技术是用于苹果的iPhone4上.其屏幕分辨率为960×6 ...
- 【记录】ACM计划
ACM进阶计划ACM队不是为了一场比赛而存在的,为的是队员的整体提高.大学期间,ACM队队员必须要学好的课程有:lC/C++两种语言l高等数学l线性代数l数据结构l离散数学l数据库原理l操作系统原理l ...
- iOS中date和string的相互转换
必须知道的内容 G: 公元时代,例如AD公元 yy: 年的后2位 yyyy: 完整年 MM: 月,显示为1-12 MMM: 月,显示为英文月份简写,如 Jan ...
- C# 系统应用之清除Cookies、IE临时文件、历史记录 转载
http://blog.csdn.net/Eastmount/article/details/18821221 本文主要是项目"个人电脑使用记录清除软件"系类文章中关于清除浏览器C ...
- intent.putExtra()方法参数详解
[开篇骂几句:fuck]1.扯淡intent.putExtra()怎么使用?2.胡说intent.putExtra(); [扯淡:其实你在问它怎么用的时候,你要明白,你知道不知道这是个什么东东,有必要 ...
- mongodb 慢SQL查询
在 MySQL中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB中是否有类似的功能呢?答案是肯定的,那就是Mongo Database Profiler.不仅有,而且还有一些比MySQL ...
- byte数组转16进制 输出到文件
try { File file = new File(Environment.getExternalStorageDirectory(),"shuju2"); if(!file.e ...