- 浏览: 1254511 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (399)
- 心情故事 (12)
- java (115)
- linux (55)
- 关系型数据库 (35)
- struts,jsf,spring (11)
- jdbc,hibernate,ibatis (11)
- jsp,jstl,c:tag,标签库 (2)
- ejb,webservice (1)
- tomcat,jboss,jetty,weblogic,websphere (15)
- java网络编程 (6)
- java线程 (0)
- js,jquery,json,xml,dom,html.regex (25)
- 设计模式 (6)
- BUG记录 (2)
- ant (2)
- jsp,servlet (4)
- swing (6)
- lucene+nutch (6)
- log4j (2)
- windows doc (2)
- ruby (1)
- ruby on rails (3)
- 操作系统网络 (18)
- apache 错误 (1)
- tomcat (10)
- jboss (9)
- jetty (9)
- weblogic (9)
- websphere (10)
- apache (2)
- AIX的iostat命令查看系统磁盘的使用情况 (1)
- oracle 统计一个表格有多少列 (1)
- Exception in thread "main" java.security.KeyStoreException: Windows-MY not found (1)
- jsp (1)
- jstl (1)
- c:tag (1)
- 标签库 (1)
- struts (1)
- jsf (1)
- spring (2)
- oracle,sqlplus (2)
- sqlplus (2)
- show errors (1)
- proc (1)
- function (1)
- ORA-06544: PL/SQL: internal error (1)
- arguments: [55916] (1)
- [] (7)
- 终端身份实施文档 (1)
- 重装系统之后飞鸽传书只能看到自己 (1)
- vsftp "上传 553 Could not create file" (1)
- startWebLogic.sh启动失败,提示Error initializing Embedded LDAP Server (1)
- java agent 注册为 windows 服务 (1)
- centos (1)
- svn (1)
- apr (1)
- apr-util (1)
- activemq (2)
- oracle (5)
- mysql (3)
- nosql (3)
- NSIS (1)
- windows wmic (1)
- c 指针 (1)
- c c++ (0)
- jmeter (0)
- 性能测试 (0)
- linux,备份 (2)
- C++ ,Virtual (1)
- windows dos (1)
- android (2)
- 大数据,云计算 (1)
- JVM垃圾收集 (1)
- jdbc (2)
- invoke (1)
- hibernate (1)
- ibatis (1)
- 个人开源项目源码收藏 (1)
- 批处理 (1)
- Mongodb mapreduce (8)
- kettle (1)
- Mongodb capped (1)
- mongodb gridfs (1)
- Mongodb 入门基础知识 (1)
- mongodb (8)
- hadoop2.5.1 (1)
- hadoop (4)
- eclipse (1)
- hdfs fs (1)
- elipse hadoop plugin (1)
- PHP相关知识 (1)
- js (1)
- jquery (1)
- json (1)
- xml (1)
- dom (1)
- html.regex (1)
- 网络知识 (1)
- nginx (1)
- docker (1)
- 测试 (1)
- nodejs (1)
- iptables (1)
- linux gitlab (1)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
web页面调用window.print()函数实现打印的功能 -
hxdtech:
非常感谢!
我在学习ibatis时的培训ppt -
zmwxiaoming:
what 能连数据库不错
SOLR的学习整理 -
springdata_springmvc:
java程序语言学习教程 地址http://www.zuida ...
java获取当前操作系统的信息 -
huanzei:
整理的不错,
oracle lpad函数
<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->
1) 下载 apache httpd 和 apache tomcat ,并安装
2) 配置 apache
修改conf/httpd.conf 文件
去掉以下文本前的注释符# ,以便让 Apache 在启动时自动加载
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
找到 Include conf/extra/httpd-vhosts.conf 并去掉前面的 #
打开conf/extra/httpd-vhosts.conf ,并添加以下内容
ProxyRequests Off
<proxy balancer://capaacluster>
BalancerMember http://127.0.0.1:8080 loadfactor=1 route=jvm1
BalancerMember http://127.0.0.1:9080 loadfactor=1 route=jvm2
ProxySet stickysession=JSESSIONID
ProxySet lbmethod=bybusyness/byrequests/ bytraffic
</proxy>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.capaa.com
ServerName 172.16.5.22
ServerAlias www.dummy-host.capaa.com
ProxyPass / balancer://capaacluster/
ProxyPassReverse / balancer://capaacluster/
ErrorLog "logs/172.16.5.22-error.log"
# CustomLog "logs/172.16.5.22-access.log" common
CustomLog "logs/172.16.5.22-access.log" "%{JSESSIONID}C %{BALANCER_SESSION_STICKY}e %{BALANCER_SESSION_ROUTE}e %{BALANCER_WORKER_ROUTE}e %{BALANCER_ROUTE_CHANGED}e %{Set-Cookie}o"
</VirtualHost>
保存,apache 配置完毕。并重启 apache
3) 配置 tomcat
解压tomcat ,并复制一份,分别称为 t1, 2
分别修改tomcat1 和 tomcat2 的 server.xml ,使其监听的端口不冲突
找到<Server port="8005" shutdown="SHUTDOWN"> , t1 不变,把 t2 改为 9005
配置Connector 的端口,找到 non-SSL HTTP/1.1 Connector ,即 tomcat 单独工作时的默认 Connector ,保留 t1 默认配置,在 8080 端口侦听,
而把t2 设置为在 9080 端口侦听
AJP 1.3 Connector, <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> ,
这是tomcat 接收从 Apache 过来的 ajp 连接请求时使用的端口,保留 t1 默认设置,把 t2 端口改为 9009
找到<Engine name="Catalina" defaultHost="localhost"> ,去掉这段或改为注释,把上方紧挨的 <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> 注释符去掉,对于 t2 ,去掉注释符并把 jvm1 改为 jvm2 。这里的 jvmRoute 对应 Apache httpd.conf 中 BalancerMember 中配置的 route 参数
找到<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> ,打开注释,这里的配置是为了可以在集群中的所有 tomcat 节点间共享会话( Session )
4) 测试 app
分别在t1 和 t2 的 webapp 目录下新增一个 test app ,并新增一个 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>");
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="test.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 app 的 web.xml 文件,在 <web-app> 节点下加入 <distributable />
访问http://172.16.5.22/test/test.jsp 页面会显示相应的信息,是哪个 tomcat 处理了请求,当前 session 中的数据等
关键字: java apache load balance
这是 apache 部分的配置
<Proxy balancer://proxy>
BalancerMember ajp://127.0.0.1:8009/ loadfactor=1 route=tomcat1
BalancerMember ajp://127.0.0.1:8010/ loadfactor=1 route=tomcat2
</Proxy>
<VirtualHost *:80>
ServerName
www.a.com
ServerAlias
www.a.com
ProxyPass / balancer://proxy/ stickysession=JSESSIONID nofailover=On lbmethod=bytraffic
ProxyPassReverse / balancer://proxy/
</VirtualHost>
Server.xml分别是
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
我在两个的ROOT 文件夹下都放一个 test.jsp 分别输出不同的标识 .
但刷新的时候, 就会发现 apache 把请求分别发给 tomcat1 tomcat2. stickysession 失败了 . . 这是为什么呢 ??? 哪位帮忙看看 ...
===========================================
以下为正确配置
<VirtualHost *:80>
ServerName
www.a.com
ServerAlias
www.a.com
ProxyPass / balancer://proxy/ stickysession=JSESSIONID
ProxyPassReverse / balancer://proxy/
<Proxy balancer://proxy>
BalancerMember
http://192.168.1.192:8080/
loadfactor=1 route=tomcat1
BalancerMember
http://192.168.1.192:8081/
loadfactor=2 route=tomcat2
</Proxy>
</VirtualHost>
发表评论
-
centos6.5 hadoop伪分布式搭建
2017-01-10 10:41 25打算整理下machine learn ,再次安装 ... -
springboot
2016-12-29 11:13 2392微服务,现在是一个越来越热的东西,软件架构发展到 ... -
elk安装记录
2016-12-27 18:04 987在centos6.5上安装elk,记录下安装过程和 ... -
dubbo服务框架
2016-12-23 15:40 485上一篇文章介绍了zookeeper,作为服务 ... -
zookeeper服务注册中心配置
2016-12-22 11:40 1668用zookeeper有一段时间了,把配置做下简 ... -
OS X 安装java开发环境
2016-12-03 23:29 602... -
关于Restful API 的设计
2015-06-12 13:32 2282Restful API的流行,很大程度上被当前的移动 ... -
Jvisualvm远程连接tomcat配置:
2015-05-12 16:16 788JvisualVm 监控远程Tomcat,需要在To ... -
jdbc mybatis hibernate springJDBC的一些理解
2015-01-15 17:10 7071... -
Java 的ExecutorService
2015-01-15 11:45 1230早期在Java5以前,我们做多线程程序,一般都 ... -
spring的IOC和AOP
2015-01-14 16:47 2358关于Spring,大家都是耳熟 ... -
java 的线程安全
2014-12-30 14:43 981现代CPU基本都是多核,支持 ... -
JVM ClassLoader
2014-12-25 16:33 948JVM在加载类的时候,都是通过ClassLoad ... -
minor Gc ,Full Gc
2014-12-24 17:22 2107在发生Minor gc之前,虚拟机会先检查老年带最 ... -
Java的主要垃圾回收器
2014-12-24 16:33 1313对象 ... -
JVM的内存结构的一点理解
2014-12-24 11:30 784... -
利用生产者消费者模式实现串行的任务并行化
2014-12-22 17:48 1239试想,一个省有100个处理节点需要 ... -
利用生产者消费者模式实现串行的任务并行化
2014-12-22 17:48 0试想,一个省有100个处理节点需要 ... -
关于Linux的Ulimit参数
2014-12-22 12:13 1284JVM 64位平台与32位平台 ... -
一种表格数据比对的方法
2014-12-19 16:59 1058假设有连个库,一个是生产库,一个是备份库,在一个特 ...
相关推荐
总结起来,"Apache2.2 tomcat-6.0.18负载均衡与集群"是一个复杂但关键的架构,涉及到Apache的mod_proxy和mod_jk模块,以及Tomcat的集群配置。这个主题涵盖了如何利用这些工具和技术创建一个高可用、高性能的Web服务...
SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置
APACHE 2.2.9+TOMCAT6.0.18配置 APACHE 2.2.9+TOMCAT6.0.18配置
### APACHE 2.2.9+TOMCAT6.0.18 配置负载均衡 #### 目标 本教程旨在通过使用 Apache 2.2.9 和 Tomcat 6.0.18 来搭建一个可以实际部署运行的 Web 网站。具体目标包括: 1. **实现 Apache 作为 HTTP 服务器**:...
在实际应用中,Tomcat常与其他软件集成,如Apache HTTP Server(通常称为Apache,非此处的标签“阿帕奇”)进行负载均衡和反向代理,提供更高的性能和安全性。Apache HTTP Server是一个流行的HTTP服务器,负责处理...
【Apache+Tomcat 集群与负载均衡及Session绑定】是将多个Apache和Tomcat服务器配置成一个集群,以实现更高的服务可扩展性和可用性。集群的基本思想是通过将工作负载分散到多个服务器,避免单点故障,提高系统的整体...
Apache + Tomcat 配置负载均衡是Web服务器和应用程序服务器协同工作的典型应用场景,旨在提高网站的可用性和性能。在这个配置中,Apache作为前端HTTP服务器,它接收来自客户端的请求并根据预设策略将这些请求分发给...
Apache 2+Tomcat 6 负载均衡与集群配置是提高Web应用程序可用性和性能的关键技术。通过负载均衡,可以将来自用户的请求均匀分配到多个服务器,避免单点故障,提升系统的整体处理能力。而Tomcat集群则使得多个Tomcat...
8. **核心组件**:`apache-tomcat-6.0.18`目录下包含了Tomcat的主要组件,如`bin`目录下的可执行文件用于启动和停止服务器,`conf`目录存放配置文件,`webapps`目录用于放置Web应用程序,`lib`目录包含运行所需的...
这个"apache-tomcat-6.0.18.rar"压缩包包含了Apache Tomcat的6.0.18版本,这是一个较早但仍然被一些用户使用的稳定版本。 在Java服务器领域,Tomcat因其轻量级、高效且易于配置的特点而广受欢迎。它实现了Sun ...
虽然Tomcat 6.0.18相对较旧,但仍然支持基本的集群配置,通过`cluster`元素在`server.xml`中设置,可以实现负载均衡和故障转移。 总之,Apache Tomcat 6.0.18免安装版提供了一个轻量级、便捷的Java Web服务器解决...
- **集群和负载均衡**:高级配置可实现Tomcat服务器的集群,通过负载均衡分发请求到多个服务器。 尽管Tomcat 6.0.18是一个较旧的版本,但其基本原理和配置方法对于理解现代的Tomcat版本仍然非常有帮助。随着技术的...
Apache Tomcat 6.0.18 是一个广泛使用的开源软件,它是一个实现了Java Servlet和JavaServer Pages(JSP)规范的应用服务器,主要用于部署和运行Java Web应用程序。这个版本是Tomcat 6系列的一个特定发布,它在当时...
在使用Apache Tomcat 6.0.18时,你需要根据需求修改`conf`目录下的配置文件,例如设置服务器端口、调整内存分配等。同时,为了在MyEclipse中配置Tomcat,你需要在IDE的服务器视图中添加新的服务器实例,选择Apache ...
10. **集群和负载均衡**: 对于高可用性和负载均衡的需求,Tomcat可以通过配置多个实例并结合反向代理或负载均衡器来实现。虽然Tomcat6.0.18的集群支持相对有限,但可以通过一些高级技术实现。 综上所述,"Tomcat...