日期:2014-05-16  浏览次数:20886 次

Windows下 Apache2.2+Tomcat6集成

????? apache+tomcat集成总结 。? 由于之前大部分时间都是从事内部系统开发, 比较常用都是tomcat作为j2ee服务器,

一直也没有用到这个最流行的Web服务器端软件之一apache。上篇文章讲了

Apache2.2+PHP5.2+MySQL5.5+phpMyAdmin3.3的配置? 基本上配置起来也比较简单。

????? 最近在开发OA系统和门户,模块首页基本和163这种差不多 一般的动态jsp页面的话那么数据库查询将是巨大的开销,会导致首页访问速度的下降。于是考虑将这个首页全部静态化 前台比较多静态页面 ,前台使用Struts2+Freemark 。 后台使用ext3.3作为管理系统界面。

所以开发团队将考虑使用apache2.2+tomcat6作为系统服务器 ,静态页面由apache处理 ,jsp自动交给tomcat。

?

?首先下载安装apache和tomcat ,connectors等在http://www.apache.org上下。
下载mod_jk_2.2.4.so? 这个要和apache版本相匹配

首先确保apche和tomcat都已经安装了。

整合apche和tomcat,主要两种方案;

我这里采用mod整合

JK的安装
把mod_jk_2.2.4.so拷贝到apche安装目录的\modules\下

1、配置Tomcat

apache目录conf 创建workers.properties文件,加上以下内容。
worker.list = controller,tomcat1 #server 列表 controller,tomcat1可以随便写什么名字但下面要相对应
#========tomcat1========
worker.tomcat1.port=8009         #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13  这是一种ajpv13协议
worker.tomcat1.lbfactor = 1   #server的加权比重,值越高,分得的请求越多

#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1   #指定分担请求的tomcat
worker.controller.sticky_session=1
?

2、配置Apache

?

打开Apache目录\conf下的httpd.conf,在最后加入下面这段代码并保存。#代表注释
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件或者action后缀时,在后台将其交由Tomcat去处理。
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile conf/workers.properties
#指定tomcat监听配置文件地址
JkLogFile logs/mod_jk.log  日志文件


DocumentRoot "D:/setup/Tomcat6/webapps"
#您的站点项目所在路径,应与tomcat中的目录设置相同
#默认首页
DirectoryIndex index.html index.htm index.jsp

#指定哪些后缀类型的交给tomcat处理
JkMount /*.jsp controller  #.jsp交给tomcat解析
JkMount /*.do controller #.do请求交给tmcat解析
JkMount /*.action controller #.action请求交给tomcat解析

?由于80端口与iis有冲突? 我把apache端口改成了8082

在地址栏中分别输入http://localhost:8082/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功

?

我的登入页面效果 tomcat地址:

?

?

apache和tomcat地址一样

1 楼 kgc1982 2011-06-24  
Apache2.2中不是已经集成了JK,不知道楼主还要配置JK干嘛???
2 楼 zhouxingfu520 2011-06-27  
kgc1982 写道
Apache2.2中不是已经集成了JK,不知道楼主还要配置JK干嘛???


你是说Apache2自带的http_proxy和ajp_proxy吧   刚开始我觉得JK更容易理解 mod_proxy模块使用代理技术来连接Tomcat  这是我下节要做的工作