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

Wesley13
• 阅读 707

目标 :

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
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
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Tomcat,apache负载均衡
tomcat负载均衡配置:1:安装apache和tomcat2:修改apache下的http.conf,修改监听端口:Listen8080把mod\_jk1.2.28httpd2.2.3.so拷贝到apache下的modules目录下.在http.conf加入:LoadModulejk\_modulemodules/mod\_
Stella981 Stella981
3年前
Apache+Tomcat集群配置+session共享
 本文ApacheTomcat集群配置基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。准备环境ApacheApache是http服务器,我们利用其对Tomcat进行负载均衡。目前最新版本为2.2.17,下载地址为http://httpd.apache.or
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这