Tomcat4.0.1最近刚刚发布,关于它如何集成在Apache中连Jakarta.apache.org的网站上还没有类似的文章,
作者一拿到Tomcat4.0,便想着如何将这两个绝妙组合搭配在一起,因为Tomcat4.1支持jsp1.2和Servlet2.3,
如果只把Tomcat作为一般调试程序用的工具的话,没有必要将它和Apache放在一起,但是如果作为商业用途来
用的话,它的功能还略显单薄,所以我们需要一个强有力的Web服务器,为此,我选择了Apache。下面我就将这
两者怎样结合写出来。
一、需要的软件:
1、Jdk1.3,这是所有Java程序必须的软件包 下载网址:http://java.sun.com/j2se/index.html
2、Apache Web Server 1.3以上,在http://www.apache.org/dist/httpd/可以下载 1.3.22,笔者就用它。
3、Mod_jk,这是Jakarta组织开发的使Apache支持Tomcat的插件,比ApacheJserv更强大,因为ApacheJserv
只能用在Apache上,而不能用在别的WebServer 上,Mod_jk可以和很多服务器搭配起来用。大家可以到
http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.3/bin/win32/i386/处下载win32的mod_jk。
4、Jakarta Tomcat4.0.1,这是Jakarta组织最新开发的支持Servlet2.3和jsp1.2的服务器。大家可以到
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/处下载。
二、安装:
1、安装Jdk,我将它安装到D:\server\jdk1.3下
2、安装Apache,安装它没有什么可说的,一路回车,不要忘了记住它的安装路径,我安装在D:\server\apache下。
3、安装Mod_jk,只要将下载的mod_jk.dll copy到安装Apache目录下的libexec下就可以了。
4、安装Tomcat,下载的Win32版本是一个exe文件,没什么可说的,我将它安装在D:\server\Tomcat这个目录下。
三、 配置
1、 首先,配置Jdk1.3,在你的环境变量里将JAVA_HOME设为D:\server\jdk1.3,具体做法为,
WinNT/2000: 我的电脑>属性>高级>环境变量,增加一个JAVA_HOME,值设为D:\server\jdk1.3。
如果为Win9X,那么手动修改Autoexec.bat增加Set JAVA_HOME=D:\server\jdk1.3,再把D:\server\jdk1.3\lib\tools.jar
和D:\server\jdk1.3\lib\dt.jar设成classpath,重启机器使设置生效。
1、 配置tomcat,和jdk一样,环境增加一个CATALINA_HOME,其值为D:\server\Tomcat。把D:\server\Tomcat\common\lib\mail.jar
和D:\server\Tomcat\common\lib\activation.jar设为classpath。
tomcat的具体配置文件是server.xml。关键是这里:
Host部分修改为 <Host name="localhost" debug="0" appBase="D:\web" unpackWARs="true">
<host>与</host>之间加入<Context path="/lybbs" docBase="lybbs" debug="0" reloadable="true" />
这样http://localhost:8080/lybbs将访问到D:\web\lybbs文件夹
3、 配置Apache,修改Httpd.conf,关键的有这几个地方:
ServerName localhost #你的服务器名称
DocumentRoot "D:/web" #浏览器的请求将被解析到D:\web下 下面介绍整合apache和tomcat的配置。
httpd.conf增加的内容如下:
LoadModule jk_module libexec/mod_jk.dll
AddModule mod_jk.c
JkWorkersFile "D:\server\Tomcat\conf\workers.properties"
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
对于上面的配置我简单介绍一下,JkWorkersFile使指定mod_jk工作所需要的工作文件,JkMount后面是将
所有和jsp和servlet的请求通过Apj13的协议送给Tomcat,让Tomcat来处理。
4、 在D:\server\Tomcat\conf目录下建一个workers.properties,如果你要是用过Tomcat3.2以上,将它里面
的workers.properties拷贝过来也可以,但是要做相应的修改,workers.properties内容如下:
作者一拿到Tomcat4.0,便想着如何将这两个绝妙组合搭配在一起,因为Tomcat4.1支持jsp1.2和Servlet2.3,
如果只把Tomcat作为一般调试程序用的工具的话,没有必要将它和Apache放在一起,但是如果作为商业用途来
用的话,它的功能还略显单薄,所以我们需要一个强有力的Web服务器,为此,我选择了Apache。下面我就将这
两者怎样结合写出来。
一、需要的软件:
1、Jdk1.3,这是所有Java程序必须的软件包 下载网址:http://java.sun.com/j2se/index.html
2、Apache Web Server 1.3以上,在http://www.apache.org/dist/httpd/可以下载 1.3.22,笔者就用它。
3、Mod_jk,这是Jakarta组织开发的使Apache支持Tomcat的插件,比ApacheJserv更强大,因为ApacheJserv
只能用在Apache上,而不能用在别的WebServer 上,Mod_jk可以和很多服务器搭配起来用。大家可以到
http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.3/bin/win32/i386/处下载win32的mod_jk。
4、Jakarta Tomcat4.0.1,这是Jakarta组织最新开发的支持Servlet2.3和jsp1.2的服务器。大家可以到
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/处下载。
二、安装:
1、安装Jdk,我将它安装到D:\server\jdk1.3下
2、安装Apache,安装它没有什么可说的,一路回车,不要忘了记住它的安装路径,我安装在D:\server\apache下。
3、安装Mod_jk,只要将下载的mod_jk.dll copy到安装Apache目录下的libexec下就可以了。
4、安装Tomcat,下载的Win32版本是一个exe文件,没什么可说的,我将它安装在D:\server\Tomcat这个目录下。
三、 配置
1、 首先,配置Jdk1.3,在你的环境变量里将JAVA_HOME设为D:\server\jdk1.3,具体做法为,
WinNT/2000: 我的电脑>属性>高级>环境变量,增加一个JAVA_HOME,值设为D:\server\jdk1.3。
如果为Win9X,那么手动修改Autoexec.bat增加Set JAVA_HOME=D:\server\jdk1.3,再把D:\server\jdk1.3\lib\tools.jar
和D:\server\jdk1.3\lib\dt.jar设成classpath,重启机器使设置生效。
1、 配置tomcat,和jdk一样,环境增加一个CATALINA_HOME,其值为D:\server\Tomcat。把D:\server\Tomcat\common\lib\mail.jar
和D:\server\Tomcat\common\lib\activation.jar设为classpath。
tomcat的具体配置文件是server.xml。关键是这里:
Host部分修改为 <Host name="localhost" debug="0" appBase="D:\web" unpackWARs="true">
<host>与</host>之间加入<Context path="/lybbs" docBase="lybbs" debug="0" reloadable="true" />
这样http://localhost:8080/lybbs将访问到D:\web\lybbs文件夹
3、 配置Apache,修改Httpd.conf,关键的有这几个地方:
ServerName localhost #你的服务器名称
DocumentRoot "D:/web" #浏览器的请求将被解析到D:\web下 下面介绍整合apache和tomcat的配置。
httpd.conf增加的内容如下:
LoadModule jk_module libexec/mod_jk.dll
AddModule mod_jk.c
JkWorkersFile "D:\server\Tomcat\conf\workers.properties"
JkLogFile logs/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
对于上面的配置我简单介绍一下,JkWorkersFile使指定mod_jk工作所需要的工作文件,JkMount后面是将
所有和jsp和servlet的请求通过Apj13的协议送给Tomcat,让Tomcat来处理。
4、 在D:\server\Tomcat\conf目录下建一个workers.properties,如果你要是用过Tomcat3.2以上,将它里面
的workers.properties拷贝过来也可以,但是要做相应的修改,workers.properties内容如下:
解决方案 »
- servlet 打开网页报错500
- 请教高手!!(关于include的乱码问题!)
- Hibernate事务问题
- 求助:如何获得页面的点击次数,,郁闷中
- java 虚拟机崩溃问题。
- jsp网页与服务器交互问题 :)
- 我是新手请大家帮帮我! 对数据库的查询
- 用forEach循环如何循环5*5格式的数据?
- 用SmartUpload类上传文件有大小限制吗??或者ENCTYPE='multipart/form-data'的form对于上传文件大小有限制??为什么大于1M的文件一上传就显示找不到页面啊!!
- java 正则表达式
- JSP倒底是什么呢?它和ASP、PHP有什么区别?
- 我装了tomcat后,现在又想装个Resin,但resin装完后无法显示!
# $Header: /home/cvs/jakarta-tomcat/src/etc/Attic/workers.properties,v 1.3.2.2 2000/10/16 01:59:22 larryi Exp $
# $Revision: 1.3.2.2 $
# $Date: 2000/10/16 01:59:22 $
#
#
# workers.properties -
#
# This file provides jk derived plugins with with the needed information to
# connect to the different tomcat workers.
#
# As a general note, the characters $( and ) are used internally to define
# macros. Do not use them in your own configuration!!!
#
# Whenever you see a set of lines such as:
# x=value
# y=$(x)something
#
# the final value for y will be valuesomething
#
# Normaly all you will need to modify is the first properties, i.e.
# workers.tomcat_home, workers.java_home and ps. Most of the configuration
# is derived from these.
#
# When you are done updating workers.tomcat_home, workers.java_home and ps
# you should have 3 workers configured:
#
# - An ajp12 worker that connects to localhost:8007
# - An ajp13 worker that connects to localhost:8009
# - A jni inprocess worker.
# - A load balancer worker
#
# However by default the plugins will only use the ajp12 worker. To have
# the plugins use other workers you should modify the worker.list property.
#
# #
# workers.tomcat_home should point to the location where you
# installed tomcat. This is where you have your conf, webapps and lib
# directories.
#
workers.tomcat_home=D:\server\Tomcat#
# workers.java_home should point to your Java installation. Normally
# you should have a bin and lib directories beneath it.
#
workers.java_home=D:\server\jdk1.3 #
# You should configure your environment slash... ps= on NT and / on UNIX
# and maybe something different elsewhere.
#
ps=\
# ps=/ #
#------ ADVANCED MODE ------------------------------------------------
#---------------------------------------------------------------------
# #
#------ DEFAULT worket list ------------------------------------------
#---------------------------------------------------------------------
#
#
# The workers that your plugins should create and work with
#
worker.list=ajp12, ajp13
#
#------ DEFAULT ajp12 WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
# #
# Defining a worker named ajp12 and of type ajp12
# Note that the name and the type do not have to match.
#
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.ajp12.lbfactor=1 #
#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------
#---------------------------------------------------------------------
# #
# Defining a worker named ajp13 and of type ajp13
# Note that the name and the type do not have to match.
#
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
# ----> lbfactor must be > 0
# ----> Low lbfactor means less work done by the worker.
worker.ajp13.lbfactor=1 #
# Specify the size of the open connection cache.
#worker.ajp13.cachesize #
#------ DEFAULT LOAD BALANCER WORKER DEFINITION ----------------------
#---------------------------------------------------------------------
# #
# The loadbalancer (type lb) workers perform wighted round-robin
# load balancing with sticky sessions.
# Note:
# ----> If a worker dies, the load balancer will check its state
# once in a while. Until then all work is redirected to peer
# workers.
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13
#
#------ DEFAULT JNI WORKER DEFINITION---------------------------------
#---------------------------------------------------------------------
# #
# Defining a worker named inprocess and of type jni
# Note that the name and the type do not have to match.
#
worker.inprocess.type=jni #
#------ CLASSPATH DEFINITION -----------------------------------------
#---------------------------------------------------------------------
# #
# Additional class path components.
#
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes #
# The XML parser provided with Tomcat
#
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar #
# Tomcat`s implementation
#
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 #
# Javac as available from Java2SE
#
worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar #
# Setting the command line for tomcat
# Note: The cmd_line string may not contain spaces.
#
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) #
# The JVM that we are about to use
#
# This is for Java2
#
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll #
# And this is for jdk1.1.X
#
#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll
# #
# Setting the place for the stdout and stderr of tomcat
#
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr #
# Setting the tomcat.home Java property
#
worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home) #
# Java system properties
#
# worker.inprocess.sysprops=java.compiler=NONE
# worker.inprocess.sysprops=myprop=mypropvalue #
# Additional path components.
#
# worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin
# 对于这个文件,大家要修改只有两个地方,一个是workers.tomcat_home,这是指定Tomcat工作的目录,
另外一个是workers.java_home,这是指定Jdk的目录,大家可以做适当修改。
4、 配置Tomcat,这可是比较重要的一步,成败在此一举。
大家打开Tomcat的核心配置文件D:\server\Tomcat\conf\server.xml
修改如下:
将<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75"
acceptCount="10" debug="0"/>
-->
的<!-- --> 去掉,这句话熟悉XML的人都知道它是注释,因为默认的Tomcat4是没有启用Apj13的8009的端口即mod_jk所使用,修改后如下:
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75"
acceptCount="10" debug="0"/>
然后保存,现在你的Tomcat和Apache的配置基本完成了。下面我们开始测试。
四、 测试:
大家首先启动Apache,在D:\web下建个新文件index.html
内容:
<html>
<head>
<title>测试Apache是否工作</title>
</head>
<body>
<br><br><br>
<center><h1>
你的Apache服务器已经工作啦!
</h1></center>
</body>
</html>
然后在浏览器里输入http://localhost,如果能看到"你的Apache服务器已经工作啦!"的字样,那么恭喜您,
第一步成功了。然后,把LyBBS『凌云论坛』全部程序解压到D:\web\lybbs中,回到Tomcat目录下
运行startup.bat启动Tomcat,再打开浏览器输入:http://localhost:8080/lybbs/test.jsp
如果看到"Tomcat服务器已经工作",那么恭喜您,Tomcat也没有问题,最后最重要的是Apache下可以解释jsp和
Servlet,伟大的时刻到了,在浏览器里输入http://localhost/lybbs/test.jsp
如果看到了"Tomcat服务器已经工作",那么您的确成功了,完成了通向jsp的辉煌大道。
一.软件安装及PATH等设置:
按照J2SDK1.4.1,Apache2.0.43,Tomcat4.1.12的顺序安装就是了。
我安装的目录分别是:
J2SDK1.4.1 d:\jhome\j2sdk
Apache2.0.43 d:\jhome\Apache2
Tomcat4.1.12 d:\jhome\Tomcat4.1
然后再分别设置系统环境变量:CLASSPATH,PATH,JAVA_HOME,CATALINA_HOME,
classpath D:\jhome\j2sdk\lib\tools.jar;D:\jhome\j2sdk\lib\dt.jar (jdk标准类库的路径)
PATH D:\jhome\j2sdk\bin (jdk程序 java.exe javac.exe的路径)
JAVA_HOME D:\jhome\j2sdk (jdk 的安装路径)
CATALINA_HOME D:\jhome\Tomcat4.1 (tomcat 的安装路径)
Tomcat_home D:\jhome\Tomcat4.1 (tomcat的安装路径) 二.整合配置:
1. 下载mod_jk2-2.0.43.dll
(地址:http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk2/release/v2.0.1/bin/win32/mod_jk2-2.0.43.dll),并将它复制到APACHE2安装目录下的modules子目录下。 2. 编辑APACHE2的配置文件httpd.conf,在文件的最后加上以下几行。
LoadModule jk2_module modules/mod_jk2-2.0.43.dll
ServerAdmin webmaster@zhangbin
DocumentRoot "D:/jhome/Tomcat4.1/webapps"
ServerName zhangbin
DirectoryIndex index.htm index.html index.jsp 其中DocumentRoot一行要与自己的TOMCAT安装目录一致。DirectoryIndex一行是为了自动解释JSP类型的文件。 3. 在APACHE2安装目录的conf子目录下加入文件workers2.properties,其内容如下: # Define the communication channel
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
tomcatId=localhost:8009
# Map All webapp to the Web server uri space
[uri:/*]
info=Map the whole webapp 其中,URI的部分不一定按上面的定义,可以设置对自己有用的子路径。比如只想公开examples子目录下的东东时,可以如下定义:
# Map the Tomcat examples webapp to the Web server uri space
[uri:/examples/*]
info=Map the whole webapp 4. 这里使用Tomcat4.1.12中缺省定义的有关端口8009的监视器,无需再作任何修正(除非是你自己已经改动了^_^)。 三.测试:
分别起动APACHE和TOMCAT(不用区分顺序),然后打开浏览器,输入http://localhost/,在上面URI配置的情况下应该显示出TOMCAT的欢迎界面。