Apach+tomcat集群

本文介绍如何在四台服务器上配置Apache与Tomcat实现负载均衡,包括Apache与Tomcat的安装步骤、配置文件修改及测试方法。
1 环境说明
1. 服务器有4台,一台内核的linux2.6.9安装apache,三台安装Tomcat。
2. apache2.2.4、apache-tomcat-5.5.17、jdk-6u1-linux-i586-rpm.bin或者jdk1.5.6
ip配置,一台安装apache的ip为180.200.1.189,三台安装tomcat的服务器ip分别为180.200.1.111/136/42。当然需要修改成你自己的IP地址。
3. 下载地址为
下载tomcat and apache
http://apache.org
下载jdk
http://java.sun.com
2 Tomcat安装
1. 在三台要安装tomcat的服务器上先安装jdk
2. 配置jdk的安装路径,在环境变量path中加入jdk的bin路径,新建环境变量JAVA_HOME指向jdk的安装路径
3. 在三台要安装tomcat的服务器上分别安装tomcat,调试三个tomcat到能够正常启动
4. 分别测试每个tomcat的启动是否正常
http://180.200.0.42:8080
http://180.200.0.136:8080
http://180.200.0.111:8080

3 Apache安装
解压httpd-2.2.4.tar.gz
在那台要安装apache的服务器上安装apache2.2.4。在home下建立apache目录,把httpd-2.2.4.tar.gz上传到该目录下
# tar xvzf httpd-2.2.4.tar.gz
# cd httpd-2.2.4
配置APACHE安装文件
这里需要注意编译前一定要将proxy proxy_http proxy_ftp proxy_connect headers这些参数加进去,以便编译出下面的so文件

mod_proxy.so
mod_proxy_connect.so
mod_proxy_http.so
mod_proxy_ftp.so
mod_proxy_ajp.so
mod_proxy_balancer.so

配置编译参数
#./configure --prefix=/usr/local/apache224 --enable-so --enable-mods-shared="proxy proxy_http proxy_ftp proxy_connect headers"

编译
# make
检查编译后的是否有编译出so文件
# cd /usr/local/apache224/modules
#]# ls
httpd.exp mod_proxy_ajp.so mod_proxy_connect.so mod_proxy_http.so
mod_headers.so mod_proxy_balancer.so mod_proxy_ftp.so mod_proxy.so

如果存在以上文件则说明编译成功
安装
# make install

启动APACHE
# /usr/local/apache224/bin/httpd -k start
测试
http://180.200.1.189/
如果输出IT works那么就ok了


4 配置负载均衡
4.1. Tomcat配置
分别修改三个tomcat的配置文件conf/server.xml以便测试
修改内容如下:
修改前
<!-- An Engine represents the entry point (within Catalina) that processes<br /> every request. The Engine implementation for Tomcat stand alone<br /> analyzes the HTTP headers included with the request, and passes them<br /> on to the appropriate Host (virtual host). -->

<!-- You should set jvmRoute to support load-balancing via AJP ie :<br /> <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1"> <br /> -->

<!-- Define the top level container in our container hierarchy -->

修改后
<!-- An Engine represents the entry point (within Catalina) that processes<br /> every request. The Engine implementation for Tomcat stand alone<br /> analyzes the HTTP headers included with the request, and passes them<br /> on to the appropriate Host (virtual host). -->

<!-- You should set jvmRoute to support load-balancing via AJP ie :-->



<!-- Define the top level container in our container hierarchy <br /> <Engine name="Catalina" defaultHost="localhost"><br /> -->
将其中的jvmRoute="jvm1"分别修改为jvmRoute="worker1"和jvmRoute=" worker2"和jvmRoute=" worker3"

然后重启三个tomcat,调试是否能够正常启动。
http://180.200.0.42:8080
http://180.200.0.136:8080
http://180.200.0.111:8080


4.2. Apache配置
4.2.1. 启用代理

1. 配置代理模块

#vi /usr/local/apache224/conf/httpd.conf
查找代理是否打开
/LoadModule proxy_module
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
如果被注释则需要打开注释,如果不存在则需要添加进去
查找httpd-vhosts.conf
/httpd-vhosts.conf
# Include conf/extra/httpd-vhosts.conf
打开注释
保存退出
:wq
4.2.2. 配置代理主机
#vi /usr/local/apache224/conf/extra/httpd-vhosts.conf
#注释掉以下所有行
ServerAdmin webmaster@dummy-host.www.serviceapache.com
DocumentRoot /www/docs/dummy-host.www.serviceapache.com
ServerName dummy-host.www.serviceapache.com
ServerAlias www.dummy-host.www.serviceapache.com
ErrorLog logs/dummy-host.www.serviceapache.com-error_log
CustomLog logs/dummy-host.www.serviceapache.com-access_log common
ServerAdmin webmaster@dummy-host2.www.serviceapache.com
DocumentRoot /www/docs/dummy-host2.www.serviceapache.com
ServerName dummy-host2.www.serviceapache.com
ErrorLog logs/dummy-host2.www.serviceapache.com-error_log
CustomLog logs/dummy-host2.www.serviceapache.com-access_log common
#添加以下信息
ServerName localhost
CustomLog logs/dmim_log combined

BalancerMember ajp://180.200.1.111:9109
BalancerMember ajp://180.200.0.42:8009
BalancerMember ajp://180.200.0.136:9309
BalancerMember ajp://180.200.1.189:8009


ProxyPass balancer://localhost/

#保存退出
:wq

5 部署
5.1. 编写测试代码
在三个tomcat的安装目录中的webapps建立相同的应用,我和应用目录名为apa,在三个应用目录中建立相同 WEB-INF目录和页面index.jsp,index.jsp的页面内容如下
<!--page contentType="text/html; charset=GBK"-->
<!--page import="java.util.*"-->
下载方式:https://pan.quark.cn/s/c9b9b647468b ### 初级JSP程序设计教程核心内容解析#### 一、JSP基础概述JSP(JavaServer Pages)是由Sun Microsystems公司创建的一种动态网页技术规范,主要应用于构建动态网站及Web应用。JSP技术使得开发者能够将动态数据与静态HTML文档整合,从而实现网页内容的灵活性和可变性。##### JSP的显著特性:1. **动态与静态内容的分离**:JSP技术支持将动态数据(例如数据库查询结果、实时时间等)嵌入到静态HTML文档中。这种设计方法增强了网页的适应性和可维护性。2. **易用性**:开发者可以利用常规的HTML编辑工具来编写静态部分,并通过简化的标签技术将动态内容集成到页面中。3. **跨平台兼容性**:基于Java平台的JSP具有优良的跨操作系统运行能力,能够在多种不同的系统环境中稳定工作。4. **强大的后台支持**:JSP能够通过JavaBean组件访问后端数据库及其他资源,以实现复杂的数据处理逻辑。5. **执行效率高**:JSP页面在初次被请求时会被转换为Servlet,随后的请求可以直接执行编译后的Servlet代码,从而提升了服务响应的效率。#### 二、JSP指令的运用JSP指令用于设定整个JSP页面的行为规范。这些指令通常放置在页面的顶部,向JSP容器提供处理页面的相关指导信息。##### 主要的指令类型:1. **Page指令**: - **语法结构**:`<%@ page attribute="value" %>` - **功能**:定义整个JSP页面的运行特性,如设定页面编码格式、错误处理机制等。 - **实例**: ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值