这两天为了架设一个学习jsp的环境,参考网上的文章,折腾了2天才搞定Apache2+tomcat4.1的整合,下面我的整合总结。如果你参考这篇文章遇到问题请和我联系[email protected] 
一、            软件准备: 假设你有一台能正常运行win2000 server的软硬件环境。 
1、j2sdk1.4.1:  
到 http://java.sun.com/j2se/下载! 
(注意是Windows (all languages, including English)的sdk版) 
2.Apache2.0.47: 
到 http://archive.apache.org/dist/httpd/binaries/win32/apache_2.0.47-win32-x86-no_ssl.msi下载! 
3.Tomcat4.1.27 
到http://apache.oregonstate.edu/jakarta/tomcat-4/binaries/jakarta-tomcat-4.1.27.exe下载! 
4.mod_jk.dll: 到 http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.4/bin/win32/mod_jk_2.0.46.dll下载! 
(说明,由于参考网上的文章用mod_jk-2.0.43.dll与Apache2.0.47配置没成功,现用mod_jk-2.0.46.dll代替) 
二、            软件安装 
l        安装jdk  
不需要安装源代码和Demo。 按照安装向导进行安装,我选择安装到c:\ j2sdk1.4.0_01, 设置Java home的环境变量 
           JAVA_HOME=c:\j2sdk1.4.0_01 
添加JAVA_HOME 和 JAVA_HOME\bin 到系统环境变量 PATH ,我的设置是  
           C:\j2sdk1.4.0_01;C:\j2sdk1.4.0_01\bin 
l        安装Apache2.0.47 
按照安装向导进行安装(选择安装目录为d:\,方便下面操作;安装成功后其路径为:d:\Apache2),安装过程中射指你的Domain和ServerName 为你的服务器名Fully Qualified Domain Name ( FQDN )或者设置为 localhost(这只是适合于测试,只能通过本机访问。 
l        安装Tomcat 4.1.27 
按照安装向导进行安装,更改安装目录为你要安装的目录,我所安装的目录是d:\ Tomcat4.1,其间会要你输入Admin(系统管理员)的口令。 
设置Tomcat home的环境变量,再添加一个Catalina home 
TOMCAT_HOME= d:\Tomcat4.1 
CATALINA_HOME=d:\Tomcat4.1 
l        安装于配置mod_jk.dll 
将下载的mod_jk-2.0.46.dll复制到D:\Apache2\modules下,打开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.46.dll 
  
  
三、            分别测试Apache和Tomcat 
l        打开D:\Apache2\conf\httpd.conf,查找 AddDefaultCharset ISO-8859-1 改成 #AddDefaultCharset ISO-8859-1  
AddDefaultCharset GB2312  
打开D:\Apache2\htdocs\index.html.zh-cn.gb2312 改成index.html 
修改完成后重新启动Apache,打开浏览器输入http://localhost (注意需要停止IIS服务)。此时能在浏览器中看到Apache2的欢迎界面.说明Apache2工作正常. 
l        将Tomcat启动,然后打开浏览器,在地址栏中输入:http://localhost:8080 检验:此时能在浏览器中看到Tomcat的欢迎界面.说明Tomcat工作正常. 
四、            整合配置Apache2和Tomcat4.1(通过mod_jk模块) 
拷贝和粘贴如下内容到D:\Apache2\conf\httpd.conf 
JkWorkersFile "D:/Tomcat4.1/conf/workers.properties" 
JkLogFile "D:/Tomcat4.1/logs/mod_jk2.log"  
JkLogLevel info 
#设置虚拟主机 
<VirtualHost *> 
   ServerAdmin [email protected] 
   DocumentRoot d:/tomcat4.1/webapps/ 
   DirectoryIndex index.html index.htm index.jsp 
   ServerName localhost 
   ErrorLog logs/shsc-error_log.txt 
   CustomLog logs/shsc-access_log.txt common 
   JkMount /examples/servlet/* ajp13 
   #让Apache支持对servlet传送,用以Tomcat解析 
   JkMount /*.jsp ajp13  
   #让Apache支持对jsp传送,用以Tomcat解析 
</VirtualHost> 
  
在D:\Tomcat4.1\conf下新建一个文件workers.properties 注意文件后缀,其内容如下: 
workers.tomcat_home=d:\Tomcat4.1 
#让mod_jk模块知道Tomcat 
workers.java_home=c:\j2sdk1.4.0_01  
#让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  
#代理数,不用修改 
五、            整合测试 
l        启动Apache2.0.47与Tomcat4.1.27 。  
l        2.在地址栏中分别输入http://localhost/examples/jsp/index.html ,与http://localhost:8080/examples/jsp/index.html若结果相同,那恭喜你,Apache2.0.47与Tomcat4.1.27整合成功了!!! 
六、            建立自己的项目 
你已有一个项目在d:\tomcat4.1\webapps\test目录下﹐包含index.jsp及其它文件,注意WEB-INF下的web.xml﹐一般有以下内容即可 
<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
    "http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app> 
  <display-name>Welcome to Tomcat</display-name> 
  <description> 
    Tomcat test 
  </description> 
</web-app> 
设置Tomcat以支持你的项目,打开d:\Tomcat 4.1\conf\server.xml文件,在"</Host>"之前,"</Context>"之后添加 <Context path="/test" docBase="d:\tomcat4.1\webapps\test" debug="0" reloadable="true" crossContext="true"/>并保存。 
重新启动Tomcat4,打开浏览器输入http://localhost/test/就可以看到测试页面了。 
  
订正1:发现servlet的设置错误,参考下篇文章解决的。 
原虚拟主机配置 
<VirtualHost *> 
   ServerAdmin [email protected] 
   DocumentRoot d:/tomcat4.1/webapps/ 
   DirectoryIndex index.html index.htm index.jsp 
   ServerName localhost 
   ErrorLog logs/shsc-error_log.txt 
   CustomLog logs/shsc-access_log.txt common 
   JkMount /servlet/* ajp13 
   #让Apache支持对servlet传送,用以Tomcat解析 
   JkMount /*.jsp ajp13  
   #让Apache支持对jsp传送,用以Tomcat解析 
</VirtualHost> 
更正后的配置 
<VirtualHost *> 
   ServerAdmin [email protected] 
   DocumentRoot d:/tomcat4.1/webapps/ 
   DirectoryIndex index.html index.htm index.jsp 
   ServerName localhost 
   ErrorLog logs/shsc-error_log.txt 
   CustomLog logs/shsc-access_log.txt common 
   JkMount /examples/servlet/* ajp13 
   #让Apache支持对servlet传送,用以Tomcat解析 
   JkMount /*.jsp ajp13  
   #让Apache支持对jsp传送,用以Tomcat解析 
</VirtualHost> 
参考资料: 
http://www.macdevcenter.com/pub/a/mac/2002/08/20/tomcat_integration.html?page=1  
订正日期:2003.11.3  
 
  |