在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll

类别:Java 点击:0 评论:0 推荐:

折腾了半天,终于在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll

 

项目已经开始2周多了,前段时间觉得Tomcat+apache整合太麻烦,就一直只用tomcat来做测试(其实也够了),早上去报到还开会,回来N郁闷,没心情写代码,就试着给Tomcat和apache联姻,其中犯了一个很愚蠢的错误,人都快疯了,晚上7:15分,终于搞定。特写一稿留做纪念。

无常作品:[email protected],QQ:3263262, 2005.2.25于桂林电子工业学院

一、第一步就是下载所需要的软件了,这个不多说

a)         J2sdk      这个到处都有

b)        Apache   在http://jakarta.apache.org /

c)        Tomcat、mod_jk2_2.0.48.dll(用mod_jk2.so也行)     这两个来这里找(http://archive.apache.org/dist/),什么版本都有,找到合适你系统的就可以了

二、怎么安装这几个家伙就不用说了,但要注意一个Tomcat5.5必需人jdk1.5才能运行! 端口什么的就用默认就行了,除非你的系统还装了IIS,如果就给apache改个端口,或是先停掉IIS(俺就是这么干的,反正这段时间也用不着IIS)。

三、设几个环境变量

a)         CLASSPATH= .;%JAVA_HOME%\lib

b)        JAVA_HOME= C:\Java\jdk1.5.0_01

c)        TOMCAT_HOME= D:\Tomcat5.5

四、启动tomcat和apache服务,测试。

a)         在浏览器中分别输入http://localhost/和http://localhost:8080/ 如果能看到apache和tomcat的欢迎界面,恭喜恭喜,成功了一半了。看不到就另请高明吧。

b)        俺不喜欢老是输入localhost,就喜欢输入 www.wuChang.com来访问本机。你也这样?当然还不行了,得改一下host文件。Win2003系统的这个文件在这个目录C:\WINDOWS\system32\drivers\etc,用记事本什么的打开,加上一行:127.0.0.1    www.wuchang.com,保存退出。哈哈,在IE中输入www.wuChang.com 也可以看到apache的欢迎画面了吧。当然只要你喜欢还可以加个www.laDeng.com上去

五、整合。说了一堆废话,终于说到重点了。

a)         将mod_jk_2.0.47.dll或是mod_jk2.so拷贝到Apache2\modules目录中,那个DLL的名字太长了,我把帮他改了个名 mod_jk2.dll,这个世界清静多了…

b)        打开文件Apache2\conf\ httpd.conf,在文件最后加上个LoadModule jk_module modules/mod_jk2.dll ,注意这里别搞错了,我就是被这一句整惨了:(

Httpd.conf是apache中改得最多的配置文件,如果在加虚拟目录之类的都要在这里改了。比如想把apache的默认主页改成自己的,那么可以把这个文件最后的#<VirtualHost *:80>几行前面的#号去掉,把里面DocumentRoot之类的参数改成你想要的就行了。或是查询文件中的 DocumentRoot,把值改成你自己WEB的目录就OK了。

c)        在Apache2\conf目录下新建一个文件workers2.properties,添加下面内容

#******************************************************

[logger.apache2]

file=D:/Apache2/logs/jk2.log

level=INFO

debug=1

 

[config]

file=D:/Apache2/logs/workers2.properties

level=INFO

debug=1

 

[channel.socket:localhost :8009]

host=127.0.0.1

port=8009

 

[shm]

file=D:/Apache2/logs/jk2.shm

size=1048576

 

# define the worker

[ajp13:localhost:8009]

channel=channel.socket:127.0.0.1:8009

 

#[uri:/*] ###表示web主目录下的所有请求都给TomCat处理

[uri:/*.jsp]##表示把所有的.jsp文件交给Tomcat处理

[uri:/*.do]

[uri:/servlet/*]

[uri:/jsp-examples/*]##表示把所有的jsp-examples目录的所有请求都交给Tomcat处理,如果在IE地址栏中输入http://127.0.0.4/ jsp-examples那么你看到的将会是http://127.0.0.1:8080/ jsp-examples中的内容。

[uri:/servlets-examples/*]

       当然这个文件里有很多不是必需的,如果你下载的是jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip之类的压缩包,里面doc目录下有画详细的配置说明,还带有二个workers2.properties.sample和mod_jk2.conf.sample给你参考。

d)        打开文件Tomcat5.5\conf\ jk2.properties,修改如下

handler.list=apr,request,channelJni

# Override the default port for the socketChannel

 channelSocket.port=809

#

# shm.file=${jkHome}/work/jk2.shm

apr.jniModeSo=d:/apache2/modules/mod_jk2.so

# apr.jniModeSo=inprocess

shm.file=d:/Apache2/logs/jk2.shm

六、启动tomcat服务器,启动apache服务器。大功告成!写个jsp文件测试一下吧。不行就Q我。

 

总结一下今天下午的蠢事。在httpd.conf中不是已经有很多行LoadModule的语句了吗,我在添加加载jk2模块的语句时,想省点事,就把原来的复制了一行,再把把模块的文件名改成了mod_jk2.dll。没想到忘了改模块的名称,就成了这个样子
LoadModule userdir_module modules/mod_jk2.so

找得眼都花不知错在什么地方,还以为是我的系统问题,重装了Tomcat和apache,重新配置一次,还是犯这个错(丢脸)。

后来想到了错误日志,在Apache2\Log\ error.log,在这个日志中发现有一行[Fri Feb 25 19:09:30 2005] [warn] module userdir_module is already loaded, skipping。突然醒悟过来,赶紧去看httpd.conf,虫虫就果然在这里,改成LoadModule jk2_module modules/mod_jk2.so,再重起apache服务,搞定。

吃饭去先,肚子好饿。

 无常作品:[email protected],QQ:3263262, 2005.2.25于桂林电子工业学院

 

本文地址:http://com.8s8s.com/it/it11170.htm