分享
 
 
 

Win2K下Apache2+TomCat5.0整合解决方案(实践修改版)

王朝java/jsp·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

单独使用Tomcat做JSP服务器,在工作效率上会有问题,并且所能承受的最大并发连接数也有一定的限制;经测试,当并发连接较多时,Tomcat就会处于“僵死”状态,对后继的请求连接失去响应。所以现在就有了一些“整合”解决方案:

将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache,IIS等这些web server处理,由此大大节省了tomcat有限的工作“线程”。

当然,使用IBM Websphere、BEA Weblogic、JBOSS等这些 J2EE服务器会是一个更好的解决方案,但只有应用EJB才会发挥这些J2EE服务器的强大功能。

所以在这里,推荐Apache + Tomcat的“黄金组合”。在网上查找了一些资料,然后自己动手实验,折腾了近1个小时,终于搞掂!现将具体过程总结如下,希望对大家能有所帮助:

我的运行环境:Windows2k Server SP4 + J2SDK1.42 + Apache2.049 + Tomcat5.019 + SQL

server2k

**准备软件:

1、Apache 2.0.49 2、Tomcat 5.0.19 3、Jk2连接器(mod_jk2.so)

**开始安装:(这里的安装路径是任选的,只要视你的实际情况略做修改即可)

Apache安装在H:\Apache\Apache2 下,监听端口 80;Tomcat在H:\Apache\Tomcat5.0 下,监听端口 8080;(可以在配置文件中修改监听端口)

两者都以windows NT服务进行安装。

将mod_jk2.so复制到H:\Apache\Apache2\modules目录下:

(mod_jk2.so很关键,好像版本不对的话不能成功,我用的是Apache 2.0.47 + Tomcat 5.5.11+ mod_jk-1.2.14-apache-2.0.54.so)

1.编辑H:\Apache\Apache2\conf\httpd.conf文件,在LoadModule那一段代码中添加:

LoadModule jk2_module modules/ mod_jk-1.2.14-apache-2.0.54.so

2.将AddDefaultCharset ISO-8859-1 改为 AddDefaultCharset GB2312 使Apache自动支持中文显示;

3.在“虚拟主机配置代码段”中添加:(此段配置可以根据你的实际情况进行修改,可以不用配置这段)

<VirtualHost *:80>

ServerAdmin Pentium4xeon@etang.com

DocumentRoot "H:/Apache/Tomcat5.0/webapps/ROOT"

ServerName www.sdg.com

ErrorLog logs/sdg.com-error_log

CustomLog logs/sdg.com-access_log common

</VirtualHost>

**编写workers2.properties文件并加入H:\Apache\Apache2\conf目录,内容如下:

[shm]

#日志文件(由于Apache已经提供了很完整的日志文件,所以可以不用配置file行和size行)

file=${serverRoot}/logs/shm.file

size=1048576

#The socket channel

[channel.socket:localhost:8009]

port=8009

host=127.0.0.1

#define the worker

[ajp13:localhost:8009]

channel=channel.socket:localhost:8009

#uri mapping

[uri:/*.jsp]

worker=ajp13:localhost:8009

(以上好像不要哦!)

**由于tomcat5.019安装时已经有了 jk2.properties 文件,所以在这里就不用自己写了。(或许这就是高版本的好处之一吧 *^_^*)(这个文件也许配合上面的那个workers1.properties使用,我把它忽略了!)

**编写一个普通的html文件(index.html)与一个jsp文件(test.jsp),放在H:\Apache\Tomcat5.0\webapps\ROOT 下;现在最好重新启动一下计算机。

重新启动以后,启动apache和tomcat,http://www.sdg.com该是和http://www.sdg.com:8080一样的了---显示的都是index.html;

现在可以测试一下 test.jsp 了,http://www.sdg.com/test.jsp,怎么样,顺利通过了吧?

(以上我还没有明白为何这样的用)

**下面测试Tomcat连接池部分,将网站的所有文件(html + jsp + javaBean + servlet)拷贝至H:\Apache\Tomcat5.0\webapps\ROOT 下,配置tomcat的server.xml文件,添加连接池。在我这儿,经过测试,所有的功能部分都能正常工作。

下载:mod_jk2.so

*********后**********记*************************

1. 如果你的主页是JSP页面,你还需要配置一项:

DirectoryIndex index.html index.html.var index.jsp

加上index.jsp就可以了 *^_^*

2. warning:

------------**整合以后,工作一直正常,但偶然打开了Apache的 error.log文件,被吓出一身冷汗~~~~有N多的错误,有一行最显眼儿:

No such channel port:localhost:8019

.....Ajp13xx failed!

再仔细看了一下 worker2.properties 文件,发现里面有一项设置:

[ajp13:localhost:8019]

channel=channel.socket:localhost:8009

错误指的8019端口就是这个了~ 随即将 8019 改为 8009~ 现在再也没出现这个问题了~看来网上的资料有些时候不一定是最准确的......(可能是笔误吧~~~) :P

**---由此给大家带的不便,我深表歉意!

3. 又发现一个配置上的“小问题”----

虚拟主机有一项配置:DocumentRoot项,如果按照

DocumentRoot "H:\Apache\Tomcat5.0\webapps\ROOT" 配置的话,主机也能正常工作,但如果这时打开 logs/sdg.com-error_log 文件,就会发现有一行错误提示:

**warning: "H:\\Apache\\Tomcat5.0\\webapps\\ROOT" doesn't exist!

经尝试,若改成:

DocumentRoot "H:/Apache/Tomcat5.0/webapps/ROOT"

则完全没有任何警告信息出现在 error_log文件中~

(以上我还没有遇到)

我的httpd.conf:

修改安装目录下的Apache2\conf\httpd.conf文件,

1.如果你的主页是JSP页面,你还需要配置一项:

DirectoryIndex index.html index.html.var index.jsp

我的server.xml(F:/Tomcat/conf/server.xml):

在最后的</Host>前面加上一行:<Context path="" docBase="yedongshu" debug="0"/>

path表示你访问时用到的目录,docBase表示你的应用项目,这里我就可以用http://212.20.36.215直接访问了.

2.ServerAdmin fhway@163.com

3.ServerName localhost:80

4.DocumentRoot "D:/Tomcat 5.5/webapps"

5.<Directory "D:/Tomcat 5.5/webapps">

6.AddDefaultCharset GB2312

7.LoadModule jk_module modules/mod_jk-1.2.14-apache-2.0.54.so(此行不能用全路径方式)

#LoadModule jk_module modules/mod_jk_2.0.46.dll(这个驱动好像不行阿)

JkWorkersFile "D:/Apache Group/Apache2/conf/workers.properties"(jk工作配置文件可能是上面提到的worker2.properties吧!)

JkLogFile "D:/Apache Group/Apache2/logs/mod_jk2.log" (日志文件)

JkLogLevel debug(log级别)

JkMount /*.jsp work1(jk工作的服务代理列表,多个时用逗号分隔,用于多个tomcat的平衡负载;表示遇到javabean,servlet,jsp时,apache统一交给tomcat处理)

JkMount /helloapp/* work1(所有文件均传到Tomcat处理;以下处理web的目录列表)

JkMount /servlets-examples/* work1

JkMount /tomcat-docs/* work1

JkMount /balancer/* work1

JkMount /webdav/* work1

JkMount /ROOT/* work1

JkMount /bookstore/* work1

workers.properties配置文件

workers.tomcat_home=D:/Tomcat 5.5 (Tomcat工作目录,让mod_jk模块知道Tomcat)

workers.java_home=D:/Program Files/Java/jdk1.5.0 (JDK工作目录)

ps=/ (目录分隔符可以用¥)

worker.list=work1 (工作的服务代理列表)

worker.worker1.port=8009(端口)

worker.worker1.host=localhost (主机名)

worker.worker1.type=ajp13 (模块版本)

worker.worker1.lbfactor=1 (代理数,不用修改 )

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有