CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

tomcat50+apache2怎么整合,回帖,成功后,马上散分!!!!

楼主seeyouc(喜相逢)2004-05-04 11:25:24 在 Java / Web 开发 提问

本人学习和使用jsp相当一段时间了,现在准备发布一个新闻发布系统,(使用tomcat5.0+ms   sql   server+javabean,包括权限分配,类别划分,图文结合,各种文件的上传下载,还有许多功能,计划将陆续添加...),想通过使用tomcat5+apache  
  整合后发布,可是怎么也整合不成功,哪位整合成功了,我将马上发分。  
  我的主要问题是,找不到一篇完整的tomcat50+apache2.48整合,并且是没有整合的思路。  
  my   qq:77113981  
  msn:seeyouknowme@hotmail.com  
  问题点数:100、回复次数:11Top

1 楼CoolAbu(阿卜-Never Stop(★★★★))回复于 2004-05-04 12:08:18 得分 100

下面是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   ajp13  
   
  3.   查看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=1  
   
  worker.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.jar  
   
  worker.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     显示正常说明配置成功。严格按以上说明安装配置,都会一次成功。  
  Top

2 楼Maxdell(我想闪人!)回复于 2004-05-04 12:28:03 得分 0

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

3 楼jfy3d(剑事 http://www.migti.com)回复于 2004-05-04 13:06:29 得分 0

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

4 楼seeyouc(喜相逢)回复于 2004-05-04 14:29:25 得分 0

我按照上面说的调试了,可是,  
  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     weibin975@sohu.com         #你的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  
   
  我该怎么办呢?  
  Top

5 楼seeyouc(喜相逢)回复于 2004-05-04 14:52:20 得分 0

把  
  ServerAdmin     weibin975@sohu.com         #你的mail地址      
   
  DocumentRoot     D:\Tomcat5\webapps\ROOT         #你的项目组根目录  
  两项去掉后居然成功了  
  但是是在茫然中............:(  
   
  Top

6 楼panpan221(我是来学习的!)回复于 2004-05-04 15:01:34 得分 0

新手学习Top

7 楼seeyouc(喜相逢)回复于 2004-05-04 15:31:50 得分 0

是成功了,可是如何显示中文呢?我的tocat+jsp+javabean   完全支持中文,连同传递参数的中文变换,可是,apache不支持中文,我在网上看到有  
  配置apache   httpd.conf   使之自动支持中文改AddDefaultCharset   ISO-8859-1   为AddDefaultCharset   GB2312  
   
  Apache   中文乱码解决方案服务器端:    
  ======    
  修改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编码显示,因此中文是乱码,只有你正确制定了中文编码后,才可以正确显示(你也可以通过切换浏览器的编码来看)。    
   
  总之这是一个比较复杂的问题,我的能力有限,也只能解释道这一步了。    
  仓促中写就,可能有很多错误,请大家指正。    
   
   
     
  Top

8 楼pengfeitian(飞天寻欢)回复于 2004-05-04 15:33:57 得分 0

好文档,收藏。。。Top

9 楼seeyouc(喜相逢)回复于 2004-05-07 12:48:30 得分 0

整合后,如果图片不显示,而在tomcat下显示,那么就是该部分分的DocumentRoot   有问题  
  <VirtualHost   localhost>  
          ServerAdmin   seeyouknowme@163.com  
          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>Top

10 楼xiaozx(老德)回复于 2004-06-18 16:02:05 得分 0

markTop

11 楼navis(让你试着了解我)回复于 2004-06-28 16:35:40 得分 0

收藏Top

相关问题

  • 关于整合TOMCAT和APACHE!!
  • apache 整合tomcat第一问
  • 关于apache+tomcat整合?
  • apache和tomcat的整合
  • tomcat 和 apache整合问题
  • ++++++++++++++++++ Apache 2.0.54 Tomcat 5.5.12 整合 ++++++++++++++++++++++
  • Apache和Tomcat的整合问题
  • 请教TOMCAT和APACHE整合的问题
  • apache和tomcat整合后servlet不能用
  • tomcat 5.0.27和apache 2.0.53整合的问题

关键词

  • win2k
  • win32

得分解答快速导航

  • 帖主:seeyouc
  • CoolAbu

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo