`
junli0411
  • 浏览: 136035 次
  • 来自: ...
社区版块
存档分类
最新评论

Tomcat与Apache的整和

阅读更多
4. Tomcat与Apache的整和
3.4.1. 设置Tomcat与Apache Web 服务器
服务器
到现在为止,我们未讨论作为服务器扩展的Tomcat,只讨论了作为独立运行的服务器.但有一些问题需要说明:
1.    当处理静态页面时,Tomcat不如Apache迅速.
2.    Tomcat不象Apache一样可配置.
3.    Tomcat不象Apache一样强壮.
4.    有很多网站已在某一特定web server上投入了很长时间,例如,使用CGI脚本/Server API模组/perl/php…我们不能假设这些遗留下来的东西都会被丢弃.
基于以上原因,一个现实的网站建议使用一个Web服务器,如Apache,为网站的静态页面请求提供服务,并使用Tomcat作为一个Servlet/JSP插件.
我们不准备深入的讨论每个不同的配置,我们将:
1. 涵盖Web服务器的基本行为
2 解释需要何种配置
3 在Apache上的实例
Web 服务器操作
简单说来,web服务器总是等待来自客户端的HTTP请求。当请求到达时,服务器会提供一切必要的内容来满足此请求。加入一个Servlet容器某种程度上会改变此行为。但服务器仍需处理如下因素:
载入servlet容器接口库并初始化(处理请求之前)。
当收到一个请求时,检查是否属于某Servlet,如是,则接口库接收此请求并处理。
另一方面,接口库需要知道他将服务某种请求,通常是基于请求的URL的某种模式和将此请求导向何处。
当用户想要设置使用虚拟主机的配置时,事情会变得更加复杂,或者想多个开发者在一个服务器上进行开发但使用不同的Servlet容器的JVMs。以下我们将讨论这两个问题。
必需进行的配置
应该考虑的是最明显的配置是servlet URL具有对servlet容器中的servlet具有表示的责任。很明显,你必须知道传递什么到Servlet容器。我们仍需提供附加的配置项目到web-server或servlet-container的结合体中.
l 考虑到Tomcat进程是否可取得,我们仍需提供配置和Tomcat正在监听的TCP/IP 主机名/端口号。
l 需要告知web服务器接口库的位置(因此我们可以在起始时装入)
l 需要设置接口内部信息如将日志记录在何处和如何纪录,等等。
所有此类信息必须出现在web服务器配置里或被接口使用的私有配置文件中。下面将讲述如何在Apache中如何实现这些配置。
Apache上的实现
这一部分演示如何配置Apache与Tomcat一起工作;并试图解释深入到可能会用到的配置规范。在jserv 安装页上可找到其他信息。

3.4.2. 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 admin@cld.cn
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整合成功了!!! 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics