• 在Windows XP下整合Apache+Tomcat+PHP


    本篇文章主要是从安装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

        3.1、当然也可以把workers.properties放在Tomcat/conf文件夹下,那么JK的配置文件mod_jk.conf就要稍加修改:

    # 指出mod_jk模块工作所需要的工作文件workers.properties的位置
        JkWorkersFile "C:/Program Files/Apache Software Foundation/Tomcat 5.5/conf/workers.properties"(在JK的配置文件中给出workers.properties的硬盘绝对路径)

        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之后要重启一下电脑呢?哈哈,如果你的情况也和我相似,不妨重启一下电脑看看,或许会“柳暗花明又一村”呢。

         原来,我还想将Apache、Tomcat、PHP都整合到一起,以便服务器能同时支持JSP和PHP两种web技术,本来以为会多么的复杂和曲折,但是,等我做了以上工作之后,发现我的服务器都已经可以既支持PHP又支持JSP了。太高兴了。

        我的安装顺序依次是:Apache、PHP、MySQL、Jdk、Tomcat、Jk。按照这样的步骤,你的服务器就可以既支持PHP又支持JSP了。

        其实这些步骤可以分为三大部分:1、首先让你的服务器支持PHP,那么你就得安装Apache和PHP,安装和配置完成之后,你必须测试让你的服务器支持 PHP。(如果你要用到数据库,那么不妨把MySQL也安装上)2、安装和配置Jdk和tomcat,使你的Tomcat可以正常的支持JSP访问。3、 安装和配置Jk,这是关键的一步,因为经过前面两部分的工作,你的服务器已经可以单独支持PHP和JSP了,而这一部分——Jk插件的安装是为了让你的 Apache和Tomcat协同工作。成功之后,你的服务器就可以同时支持PHP和JSP了,比如你可以同时这样访问页 面:http://localhost、http://localhost/test.php、http://localhost/test.jsp了。

     

       不过上面的步骤说起来简单,但是要做成功,它的道路是曲折的,过程是心酸的,只有我们自己才知道,但是,相信自己,没有什么是做不成的。

    转自:http://blog.sina.com.cn/s/blog_497300720100a6ek.html

  • 相关阅读:
    Linux上安装Tomcat
    SQLServer2008 关于while循环
    [转]接口和抽象类
    windows 装XP系统
    SQLServer2008 表与表之间的数据导入
    问题消灭机
    报错。。。。。。。。。。
    疑问...........
    SQLServer In和Exists
    struts2 访问一个action的时候出现多次重复访问问题(2次或者3次)
  • 原文地址:https://www.cnblogs.com/xmgh/p/3777657.html
Copyright © 2020-2023  润新知