在Windows XP下整合Apache+Tomcat

来源:互联网 发布:windows 用户界面设计 编辑:程序博客网 时间:2024/05/17 03:37

    本篇文章主要是从安装JK插件方面来对整合Apache+Tomcat进行讲解。

    以前在本机上做项目测试的时候,都是单独使用Tomcat,而没有像在服务器上一样用Apache+Tomcat这样的配置。但是整合Apache+Tomcat的好处人尽皆知。为什么我们不来试一试呢?

    其实刚开始的时候并不是为了整合Apache和Tomcat而整合的,因为之前在我的PC机上根本就没有装Apache,一个机缘——公司需要帮别人维护一个用PHP写的项目,于是为了测试PHP,所以我在PC机上装了个Apache,并安装了PHP(如果有朋友需要了解Apache+PHP的安装可以看这篇文章:Apache+PHP+MySQL在Windows下的安装与配置图解。如果这篇文章被删除,你可以Email to me——evle1984@163.com)。

    好了,言归正传,开始我们的整合吧。

    由于安装Apache和Tomcat的文章在网上一搜一大把,所以我也没有必要在这里啰嗦了。从那以后开始吧。

    整合Apache和Tomcat最重要的一步就是安装Apache和Tomcat的“连接器”——JK插件(不知道我这样的描述是否合理哈,若有错误,请大虾们不吝指出)。JK又分JK和JK2,JK2的官方文档说JK2是JK的升级版,而且功能增强,但是JK的官方文档又说项目不支持JK2了,反而重新来开发JK,并且在网上也很难下到JK2了,Apache的官方网站上都只有JK了。如果要下载就到这里:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/去下载一个适合的版本。

    安装JK插件步骤:

    1、下载JK。我下载的是mod_jk-1.2.26-httpd-2.2.4.so,下载好之后,将mod_jk-2.26-httpd-2.2.4.so拷贝到Apache/modules文件夹下;

    2、在Apache/conf下创建两个配置文件:mod_jk.conf和workers.properties;

    3、首先编辑workers.properties,这个配置文件是配置Tomcat的一些事项,内容如下:

    # Defining a worker named tomcat1 and of type ajp13
    worker.list=tomcat1

    # Set properties for tomcat1
    worker.tomcat1.type=ajp13  
    worker.tomcat1.host=localhost  
    worker.tomcat1.port=8009
    worker.tomcat1.lbfactor=50  
    #worker.tomcat1.cachesize=1 
    #worker.tomcat1.cache_timeout=600  
    worker.tomcat1.socket_keepalive=1  
    worker.tomcat1.socket_timeout=300 
    # Define a 'jkstatus' worker using status

    4、再编辑mod_jk.conf,这个是JK的配置文件,内容如下:

    # 指出mod_jk模块工作所需要的工作文件workers.properties的位置
    JkWorkersFile "conf/workers.properties"
    # Where to put jk logs
    JkLogFile "logs/mod_jk.log"
    # Set the jk log level [debug/error/info]
    JkLogLevel info
    # Select the log format
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
    # JkOptions indicate to send SSL KEY SIZE,     
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
    # JkRequestLogFormat set the request format 
    JkRequestLogFormat "%w %V %T"
    # 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
    JkMount /*.jsp tomcat1
    JkMount /servlet/* tomcat1
    JkMount /application/* tomcat1
    JkMount /*.do tomcat1
    JkMount /*Servlet tomcat1
    JkMount /*.action tomcat1

    5、修改Apache/conf/httpd.conf文件,添加如下代码:

    LoadModule jk_module modules/mod_jk.so

    Include conf/mod_jk.conf

    6、将Apache/conf/httpd.conf修改Apache的根目录:DocumentRoot "D:/workspace/tfttc/WebRoot"

    经过上面几步,本来该是整合成功了,如果你访问http://localhost应该是可以访问了,并且如果你访问http://localhost/test.jsp也应该是正常的,但是,我的还是出了问题。当我启动Apache的时候总是提示错误,查看日志文件发现:httpd.exe: Syntax error on line 129 of F:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load F:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_jk.so into server:。

    于是我没辙了。在网上去查了一下错误,都说是JK的版本问题,但是我也换了很多版本,还是没用。于是我关机,睡觉。结果第二天早晨起来的时候,启动Apache,没报错,于是我访问http://localhost发现可以访问,启动Tomcat,再访问http://localhost/test.jsp发现也是可以正常访问的。于是我很迷惑,是不是整合Apache和Tomcat之后要重启一下电脑呢?哈哈,如果你的情况也和我相似,不妨重启一下电脑看看,或许会“柳暗花明又一村”呢。

 

原创粉丝点击