下面是Tomcat5和Apache2.0.47的,我测试过,你可以参考一下。你也可以去Google搜搜,有很多类似的帖子。系统要求:
          硬件能跑起操作系统即可
          Win2K、WinXP或Win2003操作系统
          
前期准备:
          所需软件列表:(本配置以下列软件版本完成)
1、 APACHE_2.0.47-win32-x86-no_ssl  (Apache web服务器)
2、 PHP-4.3.3-Win32                 (PHP语言解析器)
3、 MySQL-4.0.12-win                (MySQL数据库)
4、 j2sdk-1_4_2-windows-i586         (JAVA 语言环境)
5、 Jakarta-Tomcat-5.0.9             (Tomcat JSP解析服务器)
6、 Resin-3.0.3                      (Resin JSP解析服务器)
7、 mod_jk_1.2.5_2.0.47.dll           (整合Apache+Tomcat的plus)
8、 mm.mysql-2.0.4-bin.jar            (JSP访问连接MySQL文件)开始安装:
   
一、 Apahce+PHP+MySQL安装配置1. 安装APACHE_2.0.47-win32-x86-no_ssl ,程序默认安装路径为:C:\apache2\program files\apache Group\ ,需要将其安装路径修改为:C:\ 
(也可以不做修改,主要为了修改配置方便做修改的)。
2. 安装完成之后,apache服务自动加载,这时打开浏览器,浏览:http://localhost,出现apache欢迎页面(这步需要将C:\apache2\htdocs目录中的文件“index.html.en”改为“index.html”,方能显示);如果这步出现异常,请检查安装源文件,重新安装。
3. 安装PHP-4.3.3-Win32,一般下载的PHP文件为一个免安装的压缩包,解压到C:\PHP就可以。
4. 配置PHP和Apache,使之能解析php程序。
PHP配置:将C:\PHP\目录中的“php.ini-dist”改名“php.ini”,并复制到C:\windows\system32(Win2K目录为:C:\winnt\system32)
Apache配置:
C:\apahce2\conf\httpd.conf 
httpd.conf
D在此配置文件最后添加以下语句,用以支持php程序:
    ScriptAlias /php/ "C:/PHP/" 
    AddType application/x-httpd-php .php3
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .phtml 
    Action application/x-httpd-php "/php/php.exe"         5.重新启动Apache服务器,用编辑器编写如下语句:            
<?
  phpinfo();
?>            保存文件名为“test.php”到C:\apache2\htdocs目录,然后打开浏览器,浏览:http://localhost/test.php,出现PHP基本信息就说明配置成功。严格按以上说明安装配置,都会一次成功。
         6. 安装MySQL-4.0.12-win,一直按”next”就安装成功了,然后在C:\mysql\bin目录执行” winmysqladmin.exe”,出现mysql的初始信息面,表示安装成功。
         7. PHP连MySQL此处略过,一般没有什么问题。
         
到此可以休息一下,准备下面的漫长过程……二、安装JDK和Tomcat
1. 安装j2sdk-1_4_2-windows-i586,JDK一定要在Tomcat和Resin之前安装,默认安装路径就可以。
2. 安装Jakarta-Tomcat-5.0.9,默认安装路径就可以。
3. 复制mm.mysql-2.0.4-bin.jar文件分别到C:\j2sdk1.4.2\lib 和 C:\Tomcat 5.0\common\lib 
4.设置环境变量(桌面->我的电脑->右键点击->选择“属性”->高级->环境变量),所有设置均在系统变量栏进行。
新建->变量名:JAVA_HOME
    ->变量值:C:\j2sdk1.4.2
新建->变量名:TOMCAT_HOME
    ->变量值:C:\Tomcat 5.0
新建->变量名: PATH
    ->变量值:.;C:\j2sdk1.4.2\bin;  (前面的“.;”一定要有)
修改增加环境变量 CLASSPATH (如果没有此变量名,则新建)
    ->增加变量值:.;C:\j2sdk1.4.2\lib\dt.jar;C:\j2sdk1.4.2\lib\tool.jar; 
C:\j2sdk1.4.2\lib\NetComponents.jar;
C:\j2sdk1.4.2\lib\mm.mysql-2.0.4-bin.jar;
C:\Tomcat 5.0\common\classes;
C:\Tomcat 5.0\common\lib;
C:\Tomcat 5.0\common\lib\servlet-api.jar;
(前面的“.;”一定要有)      5. 启动Tomcat服务器,打开浏览器,浏览:http://localhost:8080/ ,出现Tomcat欢迎页面;如果这步出现异常,请检查安装源文件,重新安装。
   三、整合Apache+Tomcat服务器1. 复制mod_jk_1.2.5_2.0.47.dll文件到C:\Apache2\modules目录。
2. Apache配置:
C:\apahce2\conf\httpd.conf
httpd.conf
在此配置文件最后添加以下语句,用以支持jsp程序:
LoadModule jk_module modules/mod_jk_1.2.5_2.0.47.dll 
 
 JkWorkersFile "C:/Tomcat 5.0/conf/workers.properties" 
 JkMount /servlet/* ajp13 
 JkMount /*.jsp ajp133. 查看C:\Tomcat 5.0\conf\server.xml文件中有关端口“8009”是否被注释,如果是和我这的版本一致的话,不用修改。
4. 在C:\Tomcat 5.0\conf\目录下,新建文件名为“workers.properties”的文件,将如下内容复制到新建文件workers.properties中。workers.properties
# 只复制以下内容即可:# 这现行根据安装目录做修改
workers.tomcat_home=C:\Tomcat 5.0
workers.java_home=C:\j2sdk1.4.1_01
ps=# worker.list=ajp13 
worker.list=ajp12,ajp13  worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12 
worker.ajp12.lbfactor=1
             
worker.ajp13.port=8009         
worker.ajp13.host=localhost      
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1worker.loadbalancer.type=lb worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni 
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes 
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jarworker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar worker.inprocess.cmd_line=-config worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml worker.inprocess.cmd_line=-home worker.inprocess.cmd_line=$(workers.tomcat_home) worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll 
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)
          5. 到此Apache 和 Tomcat整合完成,重启Apache和Tomcat服务器,
用编辑器编写如下内容:<%@ page contentType="text/html;charset=gb2312"%><html>
<head>
<title>HI-JSP实验</title>
</head>
<body>
<%
  String Msg = "This is JSP test! 看到这段话,恭喜你,成功了!";  
  out.print("Hello World!");
%>
<h3><%=Msg%></h3>
The current date and time is <%=new java.util.Date() %>
<br>
<%
  String str = "Using trim() and substring() can be very useful";
  out.println(str);
%>
</body>
</html>保存文件名为“test.jsp”到C:\Tomcat 5.0\webapps\ROOT目录,然后打开浏览器,浏览:http://localhost:8080/test.jsp,如果显示正常,然后将地址改为:http://localhost/test.jsp  显示正常说明配置成功。严格按以上说明安装配置,都会一次成功。

解决方案 »

  1.   

    按照 CoolAbu(阿卜-Never Stop(★★★★)) 同志的可以整合,我也是参考这片文章做的.
      

  2.   

    下一个 mod_jk2.so 然后在http.conf里加入LoadModule jk2_module modules/mod_jk2.so
    就OK了
      

  3.   

    我按照上面说的调试了,可是,
    http://localhost:8080/test.jsp,显示正常,
    然后将地址改为
    http://localhost/test.jsp 
    显示错误。
    不知为什么?
    我从另一篇JDK+apache_2.0.47+tomcat-5.0.19组合配置http://www.csdn.net/develop/Read_Article.asp?Id=26649
    看后,觉得上面的培植似乎缺少了,添加虚拟主机的内容,也就是在apache\conf\httpd.conf中
    设置虚拟主机(其实下文还是默认为tomcat下的项目文件夹,可以另外指定,后文会有详述)将d:\Apache2\conf下的
    httpd.conf\httpd.conf中相应部分修改如下########-beging--######## <VirtualHost  localhost>    #localhost为本机,你可用本机ip  ServerAdmin  [email protected]    #你的mail地址  DocumentRoot  D:\Tomcat5\webapps\ROOT    #你的项目组根目录ServerName  localhost   #你的服务名,若你的机器有域名,设为域名,但现用本机作测试  ErrorLog  logs/robornet_home_log.txt    #错误日志D:\Apache2\logs下,可用任意名字CustomLog  logs/robornet_Custom_log.txt  common  #访问日志,在D:\Apache2\logs下,可用其它任意名字JkMount /servlet/* ajp13 #让Apache支持对servlet传送,用以Tomcat解析JkMount /*.jsp ajp13 #让Apache支持对jsp传送,用以Tomcat解析 </VirtualHost>   ########-end--########
    我也设置了,可是总提示
    Syntax error on line973 of c:/apache/Apache2/conf/httpd.conf:
    ServerAdmin takes oneargument,Theemail address of the server administrator
    Note the errors or messages above,and press the<ESC> key to exit我该怎么办呢?
      

  4.   


    ServerAdmin  [email protected]    #你的mail地址  DocumentRoot  D:\Tomcat5\webapps\ROOT    #你的项目组根目录
    两项去掉后居然成功了
    但是是在茫然中............:(
      

  5.   

    是成功了,可是如何显示中文呢?我的tocat+jsp+javabean 完全支持中文,连同传递参数的中文变换,可是,apache不支持中文,我在网上看到有
    配置apache httpd.conf 使之自动支持中文改AddDefaultCharset ISO-8859-1 为AddDefaultCharset GB2312Apache 中文乱码解决方案服务器端: 
    ====== 
    修改httpd.conf (在Redhat中放置的位置为/etc/httpd/conf/) 
    查找: 
    AddDefaultCharset ISO-8859-1 
    改成: 
    #AddDefaultCharset ISO-8859-1 
    AddDefaultCharset off 这种方式关掉了服务器的默认语言的发送,这样仅凭html文件头中设置的语言来决定网页语言。 很多文章都说通过修改为 AddDefaultCharset GB2312 把缺省语言改成GB2312来解决中文乱码,确实GB2312内码的网页可以正常显示了,但这并非万全之策。因为当你的网页内码不是GB2312,就算你在网页用下面的meta指定了正确的语言,如ISO8859-1,也不会解码为ISO8859-1,因为Apache已经先你一步将GB2312指定为网页的语言了,如下图: 
     而这个是加了 AddDefaultCharset off 后的: 
     修改后请重新启动Apache,在Redhat中命令为 
    /etc/init.d/httpd restart 当使用一些网页脚本引擎,如PHP,还可能需要修改相应的配置文件。 
    以PHP为例,需要修改php.ini (Red Hat中位置在/etc/) 找到: 
    default_charset = "iso-8859-1" 或者类似的,如 default_charset = "gb2312",将其注释掉: 
    ;default_charset="iso-8859-1" 客户端: 
    ===== 
    在中文网页请中依情况在标签中添加: 
    GB2312: 
    <META content="text/html; charset=gb2312" http-equiv="Content-Type"> 
    BIG5: 
    <META content="text/html; charset=big5" http-equiv="Content-Type"> 
    UTF-8: (注意是UTF-8,而不是UTF8,我已经上过当了) 
    <META content="text/html; charset=utf-8" http-equiv="Content-Type"> 如果还是不正常,请清空浏览器的Cache试试。 另外附上goghs的"blog工具中中文的问题"一文的修正版,这篇文章很好的阐述了Charset和Encoding之间的关系。 blog工具中中文的问题 [Blog] - goghs @ 23:26:56 现在的blog工具完全中文的并没有,而一般程序的默认,都是使用iso8859-1字符集,或者说en语言编码。字符集(Charset)和编码(Encoding)是两个不同的概念。 如果你使用MT的默认安装,或者使用B2的默认安装,你会发现你所发布的中文文章根本无法正常显示。(此处的MT的默认安装,以使用MySQL为基准,使用文件的我没有测试,不便评述。) 原因很简单,所有页面的默认都是iso8859-1字符集,所以在数据插入数据库的时候,都会被编码(成为html实体,如&#xxxx;类型,xxxx此处都是数字)。 处理的方式并不复杂,对MT而言,你需要将mt.cfg中的NoHTMLEntities以行前面的注释符号去掉,变成 
    NoHTMLEntities 1 
    一次来禁止使用HTML::Entities进行实体编码。 
    然后修改CGI.pm中的一处,设置为正确的gb2312字符集,我在前面的一篇文章中已经谈到。 并且需要修改所有的模板,将其中的charset从iso8859-1修改为gb2312。 而对B2,B2config.php里, 第91行有 
    # IMPORTANT! set this to 0 if you are using Chinese, Japanese, Korean, 
    #or other double-bytes languages 
    $use_htmltrans = 0; 把$use_htmltrans 设定成0就行了。 编码问题还牵涉到生成的RSS文件。作为XML的一个词汇集(此处翻译成中文似乎很让人搞不清楚,也许直接用Vocabulary更好一点),RSS完全需要遵循XML规范。 
    所有的数据中,有5个字符必须进行特殊处理。它们是单引号('), 双引号("), 小于号(< ), 大于号(>),以及&,因为他们具有特殊的用处和意义。MT中Util模块(Util.pm)中的encode_html函数负责处理,而在PHP中使用htmlspecialchars()函数做的就是同样的工作(注意默认情况下单引号是不被处理的,你需要使用ENT_QUOTES作为第二个参数)。 
    对RSS的生成,你只需要使用上述的方法进行处理,就是处理掉5各特殊字符,而千万不要使用MT中的HTMLEntities和PHP中的htmlentities()函数,因为这样它会将非iso8859-1的字符全部转换成实体,就是&#xxxx;格式。对PHP,虽然4.1版本开始, 虽然htmlspecialchars()函数可以通过第三个参数传递一个charset来进行处理,但是以我的简单测试,似乎不行。 
    另外需要对RSS指定一个正确的encoding, 就是将默认的 
    < ?xml version="1.0" encoding="UTF-8"?> 
    修改为 
    < ?xml version="1.0" encoding="GB2312"?> 
    (XML这里确实比较糊涂,encoding使用charset) 关于语言代码和国际代码,有很多复杂的标准,我也没太搞清楚,这里就不说了。总之记住对简体中文,charset = gb2312 或者说更准确的应是 charset = GB2312, encoding = "zh"。其他的不知道也罢。 在rss生成中,只要你在前面制定了正确的charset, 即使你没有正确设置encoding, 其源文件是完全可读的,只是如果你使用浏览器进行浏览时,它会以UTF-8编码显示,因此中文是乱码,只有你正确制定了中文编码后,才可以正确显示(你也可以通过切换浏览器的编码来看)。 总之这是一个比较复杂的问题,我的能力有限,也只能解释道这一步了。 
    仓促中写就,可能有很多错误,请大家指正。 
     
      

  6.   

    整合后,如果图片不显示,而在tomcat下显示,那么就是该部分分的DocumentRoot 有问题
    <VirtualHost localhost>
        ServerAdmin [email protected]
        DocumentRoot c:/tomcat/webapps/ROOT/test 
       # 和tomcat 中server.xml context docBase=?的一致
        ServerName localhost
       # ErrorLog logs/dummy-host.example.com-error_log
       # CustomLog logs/dummy-host.example.com-access_log common
    </VirtualHost>