CentOS-6.4-minimal版中Apache-2.2.29与Tomcat-6.0.41实现负载均衡

/**
 * CentOS-6.4-minimal版中Apache-2.2.29与Tomcat-6.0.41实现负载均衡
 * ----------------------------------------------------------------------------------------------------------------------
 * 关于负载均衡(Load Balancer)与集群(Cluster)的区别,以及配置方式的不同,稍后更新
 * ----------------------------------------------------------------------------------------------------------------------
 * 配置负载均衡
 * 本文建立在Apache-2.2.29与Tomcat-6.0.41整合的基础上,整合过程详见http://blog.csdn.net/jadyer/article/details/39613523
 * 1)修改端口(由于我是在一台机器上复制多个tomcat,所以需要修改端口,如果是不同的机器就可以跳过这一步)
 *   [[email protected] app]# vi tomcat/conf/server.xml  (修改8005为-1,原因详见http://blog.csdn.net/jadyer/article/details/39613771)
 *   [[email protected] app]# cp -r tomcat tomcat1
 *   [[email protected] app]# cp -r tomcat tomcat2
 *   [[email protected] app]# cp -r tomcat tomcat3
 *   [[email protected] app]# vi tomcat1/conf/server.xml (修改ssl端口对ajp端口为8543和8109,即分别+100)
 *   [[email protected] app]# vi tomcat2/conf/server.xml (修改ssl端口对ajp端口为8643和8209,即分别+100)
 *   [[email protected] app]# vi tomcat3/conf/server.xml (修改ssl端口对ajp端口为8743和8309,即分别+100)
 * 2)修改/app/apache/conf/workers.properties,修改后的内容如下
 *   worker.list=status,tomcatlb
 *   worker.status.type=status
 *   worker.tomcat1.port=8109
 *   worker.tomcat1.host=127.0.0.1
 *   worker.tomcat1.type=ajp13
 *   worker.tomcat1.lbfactor=1
 *   worker.tomcat1.connection_pool_timeout=750
 *   worker.tomcat1.socket_timeout=300000
 *   worker.tomcat1.connect_timeout=10000
 *   worker.tomcat1.reply_timeout=330000
 *   worker.tomcat2.port=8209
 *   worker.tomcat2.host=127.0.0.1
 *   worker.tomcat2.type=ajp13
 *   worker.tomcat2.lbfactor=1
 *   worker.tomcat2.connection_pool_timeout=750
 *   worker.tomcat2.socket_timeout=300000
 *   worker.tomcat2.connect_timeout=10000
 *   worker.tomcat2.reply_timeout=330000
 *   worker.tomcat3.port=8309
 *   worker.tomcat3.host=127.0.0.1
 *   worker.tomcat3.type=ajp13
 *   worker.tomcat3.lbfactor=1                                 #负载权重,值越高,被分发请求的概率越大
 *   worker.tomcat3.connection_pool_timeout=750                #在连接池中维护的非活动连接,持续多少秒后被释放,其默认值为0,即不释放
 *   worker.tomcat3.socket_timeout=300000                      #JK与Web服务器连接超时的秒数,超出此秒数将产生一个错误并再次重试,其默认值为0,即JK会一直等下去
 *   worker.tomcat3.connect_timeout=10000                      #发送请求后,直到获取到应答期间的延迟毫秒数,其默认值为0,即一直等
 *   worker.tomcatlb.type=lb                                   #可选值ajp13,ajp14,jni,lb or status
 *   worker.retries=6                                          #通迅失败的的重式次数,默认为2
 *   worker.tomcatlb.balanced_workers=tomcat1,tomcat2,tomcat3  #参与负载均衡的Web服务器
 *   worker.tomcatlb.sticky_session=1
 * 3)修改/app/apache/conf/extra/httpd-vhosts.conf
 *   将默认的tomcat改为tomcatlb,即指定所有请求交由tomcatlb处理
 * ----------------------------------------------------------------------------------------------------------------------
 * 测试负载均衡
 * 1)启动apache和三个tomcat后,就可以通过jkstatus看到参与负载均衡的3个tomcat以及其它参数,我们也可以通过jkstatus修改负载均衡参数
 *   关于jkstatus的配置和使用,详见http://blog.csdn.net/jadyer/article/details/39613553
 * 2)接下来测试一下负载均衡访问,测试代码已在下方贴出
 *   访问页面我们会发现,每次刷新页面,通过后台日志都可以看到请求是被随机分配给3个tomcat的,说明负载均衡成功
 *   并且,由于这里并没有配置集群,故每次刷新页面时,页面打印的SessionID都是变化的
 * ----------------------------------------------------------------------------------------------------------------------
 * 关于workers.properties的更多参数说明,可参考以下两个网址
 * http://tomcat.apache.org/connectors-doc/reference/workers.html
 * http://blog.csdn.net/chumeng411/article/details/7541767
 * ----------------------------------------------------------------------------------------------------------------------
 * @create Sep 27, 2014 6:29:49 PM
 * @author 玄玉<http://blog.csdn.net/jadyer>
 */

<%@ page language="java" pageEncoding="UTF-8"%>

<%
System.out.println("本机地址:" + request.getLocalAddr() + ":" + request.getLocalPort());
out.println("本机地址:" + request.getLocalAddr() + ":" + request.getLocalPort() + "<br>");
%>

<%
out.println("<br>Session ID : " + session.getId() + "<br>");
session.setAttribute("myname", "session");
String dataName = request.getParameter("dataName");
if(null!=dataName && dataName.length()>0){
	String dataValue = request.getParameter("dataValue");
	session.setAttribute(dataName, dataValue);
}
out.print("<b>Session 列表</b><br>");
java.util.Enumeration e = session.getAttributeNames();
while(e.hasMoreElements()){
	String name = (String)e.nextElement();
	String value = session.getAttribute(name).toString();
	out.println( name + " = " + value+"<br>");
}
%>

<form action="demo.jsp" method="POST">
	属性名:<input type=text size=20 name="dataName"><br>
	属性值:<input type=text size=20 name="dataValue"><br>
	<input type=submit>
</form>

时间: 2024-12-18 05:44:04

CentOS-6.4-minimal版中Apache-2.2.29与Tomcat-6.0.41实现负载均衡的相关文章

Apache反向代理结合Tomcat集群来实现负载均衡(一)

好的博文一般都能做到"望题知文",看下标题就知道下边要讲的内容,写这个标题时犹豫了一下,本来要将标题定位apache+tomcat实现负载均衡,可是又觉得这样显得比较模糊,后来想了一下,觉得利用Apache做负载均衡底层结合的是tomcat的集群功能,所以便用了这个标题. 首先先做下集群与负载均衡的概念区分,很多人一直都不理解这两个概念,不知道该如何区分这两个概念,又觉得这两个概念仿佛是一个技术的两个术语,其实不然,下边介绍下这两个概念: 什么是集群(Cluster) 所谓集群是指一组

Apache反向代理结合Tomcat集群来实现负载均衡(四)、Apache反向代理

上文中主要介绍了tomcat的集群方式,下边再来说下apache的反向代理.反向代理可以这样来理解,我们通常认为的代理(正向代理)是局域网内部机器本身不能上网,网关可以上网,大家在局域网内是通过网关上网的,这个网关就是个代理机器.反向代理意思就反了过来,现在网关并不是给内部局域网做代理的,而是给外部请求内部局域网做代理的,例如,当前一个应用系统在局域网内的A机器上,外部网络不能直接访问A机器,而是通过网关访问到了A,这里网关就是个反向代理了. 总结:正向代理---为在防火墙内的局域网客户端提供I

结合Apache和Tomcat实现集群和负载均衡 JK 方式

本文基本参考自 轻松实现Apache,Tomcat集群和负载均衡,经由实操经历记录而成,碰到些出入,以及个别地方依据个人的习惯,所以在一定程度上未能保持原文的完整性,还望原著者海涵. 因原文中有较多的贴图,如若各位读者一时不想亲自动手而直想看到配置效果,可查看原文. 一:软件环境 1. Apache: apache 2.0.55 (由http://httpd.apache.org/进入下载)(点击下载apache 2.0.55) 2. Tomcat: Tomcat 5.5.25 (由http:/

LINUX——Nginx反代至双Tomcat(LNMT、LAMT),负载均衡中动静分离的使用

环境布置:配置安装163的源 [[email protected] ~]# cd /etc/yum.repos.d/ //创建备份目录 [[email protected] yum.repos.d]# mkdir /etc/repo-bf //将原yum仓库的文件备份到repo-bf [[email protected] yum.repos.d]# mv * /etc/repo-bf //下载163的源到yum仓库 [[email protected] yum.repos.d]# curl -o

用apache和tomcat搭建集群,实现负载均衡

型的企业应用每天都需要承受巨大的访问量,在着巨大访问量的背后有数台服务器支撑着,如果一台服务器崩溃了,那么其他服务器可以使企业应用继续运行,用户对服务器的运作是透明化的,如何实现这种透明化呢?由如下问题需要解决. 一.Session的复制 二.如何将请求发送到正常的服务器 针对以上问题,可以使用群集和负载均衡来解决,整体架构如下:  中间由一台服务器做负载均衡(Load Balancer),它将所有请求,根据一定的负载均衡规则发送给指定的群集服务器(Cluster),群集服务器拥有着相同的状态和

Apache反向代理结合Tomcat集群来实现负载均衡(一)、概念理解

好的博文一般都能做到"望题知文",看下标题就知道下边要讲的内容,写这个标题时犹豫了一下,本来要将标题定位apache+tomcat实现负载均衡,但是又认为这样显得比較模糊.后来想了一下,认为利用Apache做负载均衡底层结合的是tomcat的集群功能.所以便用了这个标题. 首先先做下集群与负载均衡的概念区分,非常多人一直都不理解这两个概念,不知道该怎样区分这两个概念,又认为这两个概念仿佛是一个技术的两个术语,事实上不然,下边介绍下这两个概念: 什么是集群(Cluster) 所谓集群是指

APACHE 2.2.8+TOMCAT6.0.14配置负载均衡

目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1.  Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡. 2.  为系统设定 Session 超时时间,包括 Apache 和 tomcat 3.  为系统屏蔽文件列表,包括 Apache 和 tomcat 注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat. 一.前期准备工作:安装用的程序(前提保证已安装了JDK1.5以

app端开发中,外部js是否需要下载到本地,到负载均衡

再一次app开发中,发现有引用的外部文件: 外部的文件不是应该下载到本地然后在引用这样不是更安全吗?(当时的心声)于是咨询了下经验丰富的同事: 引用外部的js文件时,优先使用非常快的CDN(Content Delivery Network 网络之上的内容分发网络,使客户端可以访问最近的边缘服务器,实现更快的加载,降低了网络阻塞,提高用户的访问响应速度). 假设,首次进入app index.html:index.js;css 等文件为1M ,需要加载的外部js等文件有6M.如果服务器的带宽很小,哪

ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal版)- 1、安装前准备

安装前准备 上传文件到服务器,x-ftp xshell登陆Centos 检查机器名 修改机器名为:portal.cloud.local 方法一:零时设置,重启后失效,该方法不可取 方法二:修改计算机名,重启后依旧有效有效,hostnamectl set-hostname portal.cloud.local 方法三:重启后依旧保持(网上方法说可以,但是一直不生效) 更改/etc/sysconfig下的network文件,在提示符下输入vi /etc/sysconfig/network,然后将HO