APACHE 2.2.15+TOMCAT6.0.26配置负载均衡

Wesley13
• 阅读 333

目标 :

使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求:

1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。

2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat

3、 为系统屏蔽文件列表,包括 Apache 和 tomcat

注:本例程以一台机器(操作系统 windows 2008)为例子,即同一台机器上装一个 apache 和 4个 Tomcat 。

一、下载软件

httpd-2.2.15-win32-x86-no_ssl

jdk-6u18-windows-i586.exe

apache-tomcat-6.0.26-windows-x86.zip

二、安装程序

1、 jdk 按默认安装,在环境变量中设置 JA V A_HOME

(缺省的 JDK 目录为 C:\Program Files\Java\jdk1.6.0_18)

A 、进入 windows 桌面,右键选择 “ 我的电脑 ” -->“ 属性 ”

B 、选择 “ 高级 ” 页签,点开 “ 环境变量 ”

C 、在 “ 系统变量 ” 下点击新建弹出 “ 新建系统变量 ” ,变量名输入 “JA V A_HOME” ,变量值 输入 “C:\Program Files\Java\jdk1.6.0_18” 后点击确定。

2、 APAHCE 安装目录:D:\Apache。

3、四个 TOMCAT 目录:自行解压到 (D:\Tomcat集群服务器 )下。分别为 tomcat6.0, tomcat6.01, tomcat6.02, tomcat6.03

三、配置

1、 Apache 配置

1.1、 httpd.conf 配置

修改 APACHE 的配置文件 D:\Apache \conf\httpd.conf

将以下 Module 的注释去掉,这里并没有使用 mod_jk.so进行 apache 和 tomcat 的链接,从 2.X 以后 apache 自身已集成了 mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当 于以前用 mod_jk.so比较繁琐的配置了。这里主要采用了代理的方法,就这么简单。 LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

再找到 加上 index.jsp 修改成

DirectoryIndex index.html index.jsp

1.1.1、 在最下面加入

ProxyRequests Off

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2

BalancerMember ajp:// 127.0.0.1:9001 loadfactor=1 route=jvm3

BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm4

上面的四个 BalancerMember 成员是我们配置的 tomcat 集群。后面会说明的。

1.2、 httpd-vhosts.conf 设置

接下来进行虚拟主机的设置。 APACHE 的虚拟主机设置如下:

首先要修改 conf/httpd.conf找到 (#Include conf/extra/httpd-vhosts.conf)

把注释去掉。

Virtual hosts

Include conf/extra/httpd-vhosts.conf

在文件(extra/httpd-vhosts.conf)最下面加入

ServerAdmin

ServerName localhost

ServerAlias localhost

ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On

ProxyPa***everse / balancer://cluster/

其中的域名和路径根据你自己情况设置

然后再设置 TOMCAT 虚拟主机

2 配置 tomcat

2.1. 配置 server 的关闭

我们需要在一台机器上跑 4 个不同的 tomcat ,需要修改不同的 tomcat 的关闭口,避免出 现端口被占用的情况。其中 tomcat6.0用默认值,不修改。其他三个修改。在

tomcat6.01\conf, tomcat6.02\conf下和 tomcat6.03\conf下的 server.xml 中找到 server, 将:

改为

XXXX 在这里表示不同的端口:我的其它三个 tomcat 分别使用 9005, 8006 , 9007 2.2. 配置 Engine

把原来的配置注释掉,把下面一句去掉注释。并标明 jvmRoute="jvm2".

以下是原来的配置。

其他(tomcat6.02和 tomcat6.03)也要同样 配置。注意:jvmRoute 配置不要一样。

2.3. 配置 Connector

原来的默认配置。

这里是 apache 和 tomcat 链接的关键,前台 apache 就是通过 AJP 协议与 tomcat 进行通信的, 以完成负载均衡的作用。也可以用 HTTP 协议。大家注意它们是如何连接通信的,上面的红 色部分就是连接的接口了。

把其他三个 tomcat 的 port分别改成与上面

#与 tomcat6.0对应, route 与 对应。

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1

#与 tomcat6.01对应, route 与 对应。

BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2

点赞
收藏
评论区
推荐文章
技术小男生 技术小男生
2个月前
linux环境jdk环境变量配置
1:编辑系统配置文件vi/etc/profile2:按字母键i进入编辑模式,在最底部添加内容:JAVAHOME/opt/jdk1.8.0152CLASSPATH.:$JAVAHOME/lib/dt.jar:$JAVAHOME/lib/tools.jarPATH$JAVAHOME/bin:$PATH3:生效配置
光头强的博客 光头强的博客
2个月前
Java面向对象试题
1、请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方
刚刚好 刚刚好
2个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
小森森 小森森
2个月前
校园表白墙微信小程序V1.0 SayLove -基于微信云开发-一键快速搭建,开箱即用
后续会继续更新,敬请期待2.0全新版本欢迎添加左边的微信一起探讨!项目地址:(https://www.aliyun.com/activity/daily/bestoffer?userCodesskuuw5n)\2.Bug修复更新日历2.情侣脸功能大家不要使用了,现在阿里云的接口已经要收费了(土豪请随意),\\和注意
Easter79 Easter79
1年前
tomcat+redis session共享设置
准备工作:1.安装ubuntu14.0.41.这里是列表文本2.安装JDK1.7配置环境变量3.安装redis2.8.44.安装nginx,tomcat7并配置负载均衡以上不赘述,我的其他文章中有介绍1.准备jar包tomcatredissessionmanager1.2tomcat7java7.jar
Stella981 Stella981
1年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
1年前
MySQL查询按照指定规则排序
1.按照指定(单个)字段排序selectfromtable_nameorderiddesc;2.按照指定(多个)字段排序selectfromtable_nameorderiddesc,statusdesc;3.按照指定字段和规则排序selec
Easter79 Easter79
1年前
Storm VS Flink ——性能对比
!(https://oscimg.oschina.net/oscnet/2cec00eb2dccf5fdec8def77207da253a86.jpg)1.背景ApacheFlink和ApacheStorm是当前业界广泛使用的两个分布式实时计算框架。其中ApacheStorm(以下简称“Storm”)在美团点评实时
Stella981 Stella981
1年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
helloworld_34035044 helloworld_34035044
5个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为