Windows2000 server和windows 2003下的Apache2.0.47与Tomcat5.0.4的整合配置方法 
j2sdk-1_4_1_02-s1studio_ce-4u1-bin-windows.exe+jakarta-tomcat-5.0.4.exe原由:搞了一段时间的java项目,到发布的时候了,可找不到一份最新的Apache2.0.47与Tomcat5.0.4的整合
配置,遂看了半天的jakarta在线资料,并参照以前网友的文章,写了这篇配置文档,
以作参考,欢迎斧正!一、软件准备:
假设你有一台能正常运行win2000 server的软硬件环境
1.j2sdk1.4.1: 到 http://java.sun.com/j2se/下载!
(注意是Windows (all languages, including English)的sdk版)
2.Apache2.0.47: 到 http://httpd.apache.org/download.cgi/apache_2.0.47-win32-x86-no_src.msi下载!
3.Tomcat5.0.4:到 http://jakarta.apache.org/builds/jakarta- tomcat/release/v5.0.4-alpha/bin/jakarta-tomcat-5.0.4.exe下载!
4.mod_jk.dll: 到 http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.4/bin/win32/mod_jk_2.0.47.dll下载!
(说明,由于mod_jk2-2.0.43.dll与Apache2.0.47配置没成功,现用mod_jk-2.0.47.dll代替)二、软件的安装:
(此处略)
三、Apache2.0.47与Tomcat5.0.4的整合配置
1.)配置Apache2.0.47
1.将下载的mod_jk-2.0.47.dll复制到D:\Apache2\modules下。
2.设置主页文件类型:打开D:\Apache2\conf下的httpd.conf,查找"DirectoryIndex",
在index.html的后面添加index.jsp并保存,注意相互之间应有空格。(或如下面步骤3所设)
3.设置虚拟主机,让Apache自动控制html与jsp的解析:
打开D:\Apache2\conf\httpd.conf,在最后加入下面这段代码并保存。
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
# Using mod_jk2.dll to redirect dynamic calls to Tomcat
LoadModule jk_module modules/mod_jk_2.0.47.dll
JkWorkersFile "D:/Tomcat 5.0/conf/workers.properties"
JkLogFile "D:/Tomcat 5.0/logs/mod_jk2.log" 
JkLogLevel info#设置虚拟主机可以不加ServerAdmin [email protected]
DocumentRoot f:/StudioOnion/WEB_Project/shsc
ServerName shsc.cld.cn
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common#但这下段是一定要加的!!!让Apache支持对servlet传送
JkMount /servlet/* ajp13 #让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13 #让Apache支持对jsp传送,用以Tomcat解析
2.)配置Tomcat5.0.4
1.在D:\Tomcat 5.0.4\conf下新建一个文件workers.properties 注意文件后缀,其内容如下:
workers.tomcat_home=d:\Tomcat5.0.4 #让mod_jk模块知道Tomcat
workers.java_home=d:\jdk1.4.1 #让mod_jk模块知道j2sdk
ps=\
worker.list=ajp13 #模块版本,现有ajp14了,不要修改
worker.ajp13.port=8009 #工作端口,若没占用则不用修改
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改
1、找到TOMCAT目录下的CONF目录下的server.xml文件,并用记事本打开。
2、找到server.xml文件中以下文本:
3.要在<Host name="localhost" debug="0" appBase="webapps" 
       unpackWARs="true" autoDeploy="true">
</Host>中间      <Context path="/myjsp" #注意虚拟目录名myjsp(http://localhost:8080/myjsp)
                docBase="e:\jsp" 把你的jsp文件放在哪个盘中
                crossContext="false"
                debug="0" 
                reloadable="true" > 四、测试:
1.启动Apache2.0..47与Tomcat5.0.4 。
2.在地址栏中分别输入http://localhost/ ,与http://localhost:8080/若结果相同,那恭喜你,Apache2.0.47与Tomcat5.0.4整合成功了!!!
否则再来一边(^_^)windows XP与windows2003配法一样!!!同时希望对喜欢JSP的朋友有所帮助.
转载请和我联系:[email protected]现在以有最新的Tomcat5.1.2  j2sdk14.2.1在win2000 sevre 和win2003通过!!

解决方案 »

  1.   

    谢谢你的回答,不过我的tomcat无法启动
      

  2.   

    经过观察,我发现是服务中的 Tomcat 5.0 出错所致,它无法正常启动,虽然写明是自动启动的
      

  3.   

    到DOS界面下,起动一下,看看提示些什么
      

  4.   

    ukyer:
    环境变量需要设置什么?我用的是安装版,好像已经设置好了的qjg:
    dos下运行tomcatw.exe //GT//Tomcat5没有提示
      

  5.   

    每次卸载,然后再安装,第一次运行tomcat会提示服务不存在,所以我怀疑是tomcatw.exe" //US//Tomcat5 --Startup auto没有正确执行不知道各位有没有办法让tomcat的服务启动起来?
      

  6.   

    我也有和楼主一样的遭遇,现在还未解决我的OS是win2000 Server,安装了j2sdk-1_4_0之后,又安装了apache和tomcat5.0.12
    apache可以正常启动,可是tomcat始终启动不起来,dos窗口一会就消失了
    我的系统变量设置:
    CLASSPATH:C:\java-develop\j2sdk-1_4_0\lib\tools.jar;C:\java-develop\j2sdk-1_4_0\lib\dt.jar;
    JAVA_HOME:C:\java-develop\j2sdk-1_4_0
    PATH:c:\java-develop\j2sdk-1_4_0\bin;c:\java-develop\j2sdk-1_4_0
    TOMCAT_HOME:C:\java-develop\Tomcat 5.0在dos下启动的时候,另外会出现一个窗口,里面什么都没有,后来在消失前好像有好多字,但太快看不见,最后就只剩下原来的那个dos窗口了,原来的dos窗口中只是多了几行字:
    C:\java-develop\Tomcat 5.0\bin>startup.bat
    Using CATALINA_BASE:  ..
    Using CARALINA_HOME:  ..
    Using JAVA_HOME:      C:\java-develop\j2sdk-1_4_0请问是不是另外还要设置什么呢??我装了apache和jswdk,会不会有什么影响??
    但是我在apache和jswdk都没有启动的情况下,还是没有办法把Tomcat启动起来。
    请各位帮帮忙,谢谢!
      

  7.   

    开个cmd窗口
    去tomcat的bin目录下
    执行catalina run看看都报的是什么错
      

  8.   

    我的错误信息(不少,呵呵):
    fft123请指教
    [ERROR] Digester - -Begin event threw error <java.lang.NoClassDefFoundError: jav
    ax/xml/transform/Source>java.lang.NoClassDefFoundError: javax/xml/transform/Sour
    ce
            at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.execute
    (MbeansDescriptorsDOMSource.java:130)
            at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.loadDes
    criptors(MbeansDescriptorsDOMSource.java:120)
            at org.apache.commons.modeler.Registry.load(Registry.java:819)
            at org.apache.commons.modeler.Registry.loadDescriptors(Registry.java:931
    )
            at org.apache.commons.modeler.Registry.loadDescriptors(Registry.java:909
    )
            at org.apache.catalina.mbeans.MBeanUtils.createRegistry(MBeanUtils.java:
    1646)
            at org.apache.catalina.mbeans.MBeanUtils.<clinit>(MBeanUtils.java:154)
            at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.<clinit>(
    GlobalResourcesLifecycleListener.java:112)
            at java.lang.Class.newInstance0(Native Method)
            at java.lang.Class.newInstance(Class.java:237)
            at org.apache.commons.digester.ObjectCreateRule.begin(ObjectCreateRule.j
    ava:253)
            at org.apache.commons.digester.Rule.begin(Rule.java:200)
            at org.apache.commons.digester.Digester.startElement(Digester.java:1273)        at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXP
    arser.java:459)
            at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Abst
    ractXMLDocumentParser.java:221)
            at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(XMLNamespaceBi
    nder.java:595)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElemen
    t(XMLDocumentFragmentScannerImpl.java:747)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
    Dispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1477)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XM
    LDocumentFragmentScannerImpl.java:329)
            at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.jav
    a:525)
            at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.jav
    a:581)
            at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
            at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.j
    ava:1175)
            at org.apache.commons.digester.Digester.parse(Digester.java:1548)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:512)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
            at java.lang.reflect.Method.invoke(Native Method)
            at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:258)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:391)java.lang.reflect.InvocationTargetException: java.lang.NoClassDefFoundError: jav
    ax/xml/transform/Source
            at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.execute
    (MbeansDescriptorsDOMSource.java:130)
            at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.loadDes
    criptors(MbeansDescriptorsDOMSource.java:120)
            at org.apache.commons.modeler.Registry.load(Registry.java:819)
            at org.apache.commons.modeler.Registry.loadDescriptors(Registry.java:931
    )
            at org.apache.commons.modeler.Registry.loadDescriptors(Registry.java:909
    )
            at org.apache.catalina.mbeans.MBeanUtils.createRegistry(MBeanUtils.java:
    1646)
            at org.apache.catalina.mbeans.MBeanUtils.<clinit>(MBeanUtils.java:154)
            at org.apache.catalina.mbeans.GlobalResourcesLifecycleListener.<clinit>(
    GlobalResourcesLifecycleListener.java:112)
            at java.lang.Class.newInstance0(Native Method)
            at java.lang.Class.newInstance(Class.java:237)
            at org.apache.commons.digester.ObjectCreateRule.begin(ObjectCreateRule.j
    ava:253)
            at org.apache.commons.digester.Rule.begin(Rule.java:200)
            at org.apache.commons.digester.Digester.startElement(Digester.java:1273)        at org.apache.xerces.parsers.AbstractSAXParser.startElement(AbstractSAXP
    arser.java:459)
            at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Abst
    ractXMLDocumentParser.java:221)
            at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(XMLNamespaceBi
    nder.java:595)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElemen
    t(XMLDocumentFragmentScannerImpl.java:747)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
    Dispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1477)
            at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XM
    LDocumentFragmentScannerImpl.java:329)
            at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.jav
    a:525)
            at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.jav
    a:581)
            at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
            at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.j
    ava:1175)
            at org.apache.commons.digester.Digester.parse(Digester.java:1548)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:512)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
            at java.lang.reflect.Method.invoke(Native Method)
            at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:258)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:391)
      

  9.   

    bukaixin(zz)你去控制面板/服务里面去看看,你的Apache Tomcat那个服务是不是无法启动?
      

  10.   

    Using CATALINA_BASE :  ..
    Using CATALINA_HOME :  ..
    Using CATALINA_TMPDIR: ..\temp
    Using JAVA_HOME:       C:\java-develop\j2sdk-1_4_0
    java.lang.reflect.InvocationTargetException
           at sun.reflect.NativeMethodAccessorImpl.invoke0<Native Method>
           at sun.reflect.NativeMethodAccessorImpl.invoke<NativeMethodAccessorImpl.java:30>
           at sun.reflect.InflatableMethodAccessorImpl.invoke<InflatableMethodAccessorImpl.java:48>
           at java.lang.reflect.Method.invoke<Method.java:306>
           at org.apache.catalina.startup.Bootstrap.load<Bootstrap.java:258>
           at org.apache.catalina.startup.Bootstrap.main<Bootstrap.java:391>
    Caused by:java.lang.NoSuchMethodError:java.util.logging.Logger.logp<Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;>V
           at org.apache.commons.logging.impl.Jdk14Logger.log<Jdk14Logger.java:126>       at org.apache.commons.logging.impl.Jdk14Logger.info<Jdk14Logger.java:193>
           at org.apache.coyote.http11.Http11Protovol.init<Http11Protocol.java:188>
           at org.apache.coyote.tomcat5.CoyoteConnector.initialize<CoyoteConnector.java:1325>
           at org.apache.catalina.core.StandardService.initialize<StandardService.java:633>
           at org.apache.catalina.core.StandardServer.initialize<StandardServer.java:2413>
           at org.apache.catalina.startup.Catalina.load<Catalina.java:529>
           at org.apache.catalina.startup.Catalina.load<Catalina.java:550>
           ...6 more
      

  11.   

    我刚才换了Tomcat4.1.18,还是一样的结果:(
      

  12.   

    不会吧,安装5.0会自动在服务中添加Apache Tomcat的啊,奇怪啊你的机器
      

  13.   

    to: mihayi(我爱编程) 
    我也不清楚是什么样的错
    catalina run可以看到报错的信息,但一般是看tomcat启动时的classpath的
    其它类型的错误原因不好找,跟操作系统和jdk好像也有关系
    我自己公司里机器上tomcat都起不起来:)
    以前我也发帖子问过,没戏,tomcat都删了n次了,连目录全部删掉都不行
    我现在用的是weblogic,启动好慢....建议你换服务器或者重装系统
      

  14.   


    把 tomcat目录下所有文件全部删除掉, 然后重新安装tomcat。
      

  15.   

    删tomcat目录是没用的
    我以前试过n次了
    换过最起码4个版本的tomcat,换目录,每次换之前都是全部删掉,都没用
    我没试过重装jre,后来换服务器了
    不过重装win2k肯定可以的,太麻烦了...
      

  16.   

    直接再dos界面下,到tomcat的bin目录下执行startup看看什么结果。
      

  17.   

    Using CATALINA_BASE:   ..
    Using CATALINA_HOME:   ..
    Using CATALINA_TMPDIR: ..\temp
    Using JAVA_HOME:       D:\JBuilder7\jdk1.3.1之后的tomcat窗口太快了,看不到是什么
      

  18.   

    我用抓图软件抓下来了,一大堆的出错信息,跟catalina run的结果很类似
      

  19.   

    直接到dos下面窗口消失得太快,看不见啊,如果是运行catalina run,则出现的错误是:C:\java-develop\Tomcat 5.0\bin>catalina run
    Using CATALINA_BASE:   ..
    Using CATALINA_HOME:   ..
    Using CATALINA_TMPDIR: ..\temp
    Using JAVA_HOME:       C:\java-develop\j2sdk-1_4_0
    java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
    java:30)
            at sun.reflect.InflatableMethodAccessorImpl.invoke(InflatableMethodAcces
    sorImpl.java:48)
            at java.lang.reflect.Method.invoke(Method.java:306)
            at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:258)
            at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:391)
    Caused by: java.lang.NoSuchMethodError: java.util.logging.Logger.logp(Ljava/util
    /logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            at org.apache.commons.logging.impl.Jdk14Logger.log(Jdk14Logger.java:126)        at org.apache.commons.logging.impl.Jdk14Logger.info(Jdk14Logger.java:193
    )
            at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:188)        at org.apache.coyote.tomcat5.CoyoteConnector.initialize(CoyoteConnector.
    java:1325)
            at org.apache.catalina.core.StandardService.initialize(StandardService.j
    ava:633)
            at org.apache.catalina.core.StandardServer.initialize(StandardServer.jav
    a:2413)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:529)
            at org.apache.catalina.startup.Catalina.load(Catalina.java:550)
            ... 6 moreC:\java-develop\Tomcat 5.0\bin>
      

  20.   

    这个问题,据一个做sun公司培训的老师说,是java开发环境和windows平台的部分不兼容造成的。
    不能重装系统就换服务器吧,jboss,weblogic,resin,iplanet都可以啊
    不一定非要用tomcat
      

  21.   

    我机器上有weblogic,只是启动速度太慢,我才换tomcat的难道没有解决的办法吗?