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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APACHE 2.2.15+TOMCAT6.0.26配置负载均衡相关的知识,希望对你有一定的参考价值。

目标 :

使用 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

ProxyPassReverse / 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

以上是关于APACHE 2.2.15+TOMCAT6.0.26配置负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

记一次帮朋友解决apache站点403错误的过程

zabbix监控Apache

apache2.2支持URL中文字符

Apache + mod_wsgi部署webpy应用

Centos 6 apache httpd 2.2 主要配置详解( 一 )

配置Apache支持HTTPS