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毫秒