Java 版 (精华区)
发信人: Javor (Java/Linux/Gcc), 信区: Java
标 题: Win2k3下Tomcat&Apache整合实例
发信站: 哈工大紫丁香 (2003年08月06日16:32:06 星期三), 站内信件
Win2k3下Tomcat&Apache整合实例
/**
* Javor@Lilac
*
* 本文完整的说明了Win2k3下Apache与Tomcat安装配置过程,希望对读者
* 带来一定的帮助。
*
* 创建日期:2003-08-06
* 最后修改日期:2003-08-06
* EastDawn@hit.edu.cn
*
* 此文档严格遵循GPL协议,转帖请保持此文档的完整性。
*/
1.所需软件一览:
j2sdk-1_4_2-windows-i586.exe
apache_2.0.47-win32-x86-no_ssl.msi
jakarta-tomcat-4.1.24.exe
mod_jk_2.0.46.dll
其中,前三种软件分别在java.sun.com、httpd.apache.org、jakarta.apache.org
站点明显位置下载得到。mod_jk_2.0.46.dll的下载位置为:
http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/
release/v1.2.4/bin/win32/mod_jk_2.0.46.dll
2.软件安装
2.1 安装 j2sdk-1_4_2-windows-i586.exe
双击即可运行,选择安装目录,我的安装目录为:D:\j2sdk1.4.2\
2.2 安装 apache_2.0.47-win32-x86-no_ssl.msi
双击即可运行,选择安装目录,我的安装目录为:D:\Program Files\Apache\
2.3 安装 jakarta-tomcat-4.1.24.exe
双击即可运行,选择安装目录,我的安装目录为:D:\Program Files\Tomcat4.1\
3 软件配置
3.1 配置环境变量
Start => Control Panel => System => Advanced => Envionment Variables
=> System variables
修改环境变量:
Path=d:\j2sdk1.4.2\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\
也就是在原Path的前面添加d:\j2sdk1.4.2\bin;,注意是以分号结尾。
添加环境变量:
CALALINA_HOME=D:\Program Files\Tomcat4.1\
JAVA_HOME=D:\j2sdk1.4.2\
classpath=D:\j2sdk1.4.2\lib\dt.jar;D:\j2sdk1.4.2\lib\tools.jar
3.2 配置 Tomcat
编辑D:\Program Files\Tomcat4.1\conf\server.xml
3.2.1 修改Tomcat服务端口,将80端口改为8080,或者直接将其去掉
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
3.2.2 修改文件的最后位置:去掉两行注释,变成:
<!-- Define an Apache-Connector Service -->
<Service name="Tomcat-Apache">
<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps"
acceptCount="10" debug="0"/>
<Engine className="org.apache.catalina.connector.warp.WarpEngine"
name="Apache" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="apache_log." suffix=".txt"
timestamp="true"/>
<Realm className="org.apache.catalina.realm.MemoryRealm" />
</Engine>
</Service>
</Server>
3.3 配置 Apache
3.3.1 mod_jk_2.0.46.dll文件
将mod_jk_2.0.46.dll拷贝到
D:\Program Files\Apache\Apache2\modules 目录.
3.3.2 worker.properties文件
新建一个文本文件,命名为worker.properties,
注意不是worker.properties.txt
我的这个文件为:
-------------------------------------------------------------
# worker.properties start
#
# $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 value\something
#
# 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:\program files\tomcat4.1\
#
# workers.java_home should point to your Java installation.
Normally
# you should have a bin and lib directories beneath it.
#
workers.java_home=d:\j2sdk1.4.2\
#
# 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)lib$(ps)jasper.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)servlet.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(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)j
vm.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
#
# worker.properties end
-------------------------------------------------------------
其中,需要你修改的地方如下:
workers.tomcat_home=D:\program files\tomcat4.1\
workers.java_home=d:\j2sdk1.4.2\
替换为你的tomcat和jdk的安装目录。
3.3.3 编辑Apache配置文件
编辑D:\Program Files\Apache\Apache2\conf\httpd.conf
在# Dynamic Shared Object (DSO) Support的下面添加:
LoadModule jk_module modules/mod_jk_2.0.46.dll
<IfModule mod_jk.c>
JkWorkersFile conf\worker.properties
JkLogFile logs/jk.log
JkLogLevel warn
JkMount /*.jsp ajp13
JkMount /examples/* ajp13
</IfModule>
4 启动服务并测试
首先启动Tomcat服务
启动Apache服务
启动浏览器,http://127.0.0.1/examples/
测试服务是否成功? :)
然后注意3.3.3中的配置,可以加入其他映射,也就是多加几行的这样的东西:
JkMount /examples/* ajp13
可以参考:
http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/
release/v1.2.4/doc/jk/aphowto.html
<End>
--
SYSOP是猪头!
站长是猪头!!
总管是猪头!!!
版主是猪头!!!!
所有的站务都是猪头!!!!!
我就说实话了,咋地!?
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.4]
※ 修改:·Javor 於 08月06日16:32:20 修改本文·[FROM: 202.118.239.4]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:203.729毫秒