﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-jacky-文章分类-JAVA</title><link>http://www.blogjava.net/jackywjj/category/2055.html</link><description>To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 03:17:36 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 03:17:36 GMT</pubDate><ttl>60</ttl><item><title>WIN2K+APACHE+JSP+TOMCAT配置总结</title><link>http://www.blogjava.net/jackywjj/articles/16964.html</link><dc:creator>jacky wu</dc:creator><author>jacky wu</author><pubDate>Thu, 27 Oct 2005 01:57:00 GMT</pubDate><guid>http://www.blogjava.net/jackywjj/articles/16964.html</guid><wfw:comment>http://www.blogjava.net/jackywjj/comments/16964.html</wfw:comment><comments>http://www.blogjava.net/jackywjj/articles/16964.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jackywjj/comments/commentRss/16964.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jackywjj/services/trackbacks/16964.html</trackback:ping><description><![CDATA[<P>转自<A href="http://www.oxbbs.net/cgi-bin/forums.cgi?forum=38">http://www.oxbbs.net/cgi-bin/forums.cgi?forum=38</A>，原作者rosealet</P>
<P>&nbsp;<BR>&nbsp;<BR>WIN2K&amp;WIN9X+APACHE+JSP+TOMCAT运行环境的配置总结：</P>
<P>以下的这片文章，决无抄袭，完全是我自己的配置总结！所用到的软件可以到httpd.apache.org、jakarta.apache.org和java.sun.com下载。</P>
<P>如无法找到，可以告诉我，我会给出下载地址！</P>
<P>需要的东西：</P>
<P>1、一台安装有WIN2K系统的电脑，最好是professional的。（因为用server的话，会安装IIS5，可能会占用80端口。我们现在用apache作http服务，当然就没有必要用IIS了。）</P>
<P>2、java的运行环境:J2EE，我们可以使用j2sdk或j2jre，只是用jre就行。（sdk是开发环境包含运行环境，jre只是运行环境）</P>
<P>3、mod_jk或mod_jserv使apache与tomcat进行连接。我推荐用mod_jk，因为mod_jserv只能用于apache，而mod_jk可用于多种http服务软件。windows下mod_jk是一个dll文件。</P>
<P>4、tomcat，最主要支持的JSP运行的软件。</P>
<P>5、apache，目前最好的http服务软件。</P>
<P>开始安装：</P>
<P>1、安装jdk，我用的是jdk_sdk1.3.1.01版，比如安装到c:\jdk1.3下。之后添加jdk的环境变量。<BR>变量名：path<BR>变量值：c:\jdk1.3\bin<BR>变量名：JAVA_HOME<BR>变量值：c:\jdk1.3<BR>变量名：CLASSPATH<BR>变量值：.\;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\tools.jar;<BR>重新启动计算机使配置的环境变量生效</P>
<P>环境变量的添加位置：我的电脑&gt;属性&gt;高级&gt;环境变量（win2k）<BR>　　　　　　　　&nbsp;&nbsp; 如win9x在autoexec.bat中添加<BR>　　　　　　　　&nbsp;&nbsp; Path=c:\jdk1.3\bin<BR>　　　　　　　　&nbsp;&nbsp; Set JAVA_HOME=c:\jdk1.3<BR>　　　　　　　　&nbsp;&nbsp; Set CLASSPATH=.\;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\tools.jar;</P>
<P><BR>2、安装apache 1.3.27 for windows版，比如安装到c:\apache下。apache默认的主目录是c:\apache\htdocs，我们可以对它进行更改，我们编辑c:\apache/conf/httpd.conf文件，找到关于Port、DocumentRoot这两行，就可以设置当前的http服务的默认端口和主目录。其他的设置，可以自己以后摸索！</P>
<P>在httpd.conf中添加：</P>
<P>LoadModule jk_module libexec/mod_jk.dll</P>
<P>AddModule mod_jk.c</P>
<P>JkWorkersFile "c:\Tomcat 4.0\conf\worker.properties"</P>
<P>JkLogFile logs/mod_jk.log</P>
<P>JkLogLevel info</P>
<P>JkLogStampformat "[%a %b %d %H:%M:%S %Y] "</P>
<P>JkMount /*.jsp ajp13</P>
<P>JkMount /servlet/* ajp13</P>
<P>以上语句的基本意思是：</P>
<P>第一、二句：指定apache和tomcat连接插件的位置和名称</P>
<P>第三句：指出mod_jk工作所需要的工作文件的位置</P>
<P>第七、八句：是将所有和jsp和servlet的请求通过Apj13的协议送给Tomcat，让Tomcat来处理</P>
<P>3、将下载的mod_jk.dll放到安装Apache目录下的libexec下。</P>
<P>4、安装tomcat for windows版，这里我用tomcat 4.0.4。比如安装到c:\tomcat4.0下。</P>
<P>在c:\Tomcat4.0\conf目录下建一个worker.properties文件</P>
<P>worker.properties文件内容为：</P>
<P># $Header: /home/cvs/jakarta-tomcat/src/etc/Attic/workers.properties,v 1.3.2.2 2000/10/16 01:59:22 larryi Exp $</P>
<P># $Revision: 1.3.2.2 $</P>
<P># $Date: 2000/10/16 01:59:22 $</P>
<P>#</P>
<P>#</P>
<P># workers.properties -</P>
<P>#</P>
<P># This file provides jk derived plugins with with the needed information to</P>
<P># connect to the different tomcat workers.</P>
<P>#</P>
<P># As a general note, the characters $( and ) are used internally to define</P>
<P># macros. Do not use them in your own configuration!!!</P>
<P>#</P>
<P># Whenever you see a set of lines such as:</P>
<P># x=value</P>
<P># y=$(x)something</P>
<P>#</P>
<P># the final value for y will be valuesomething</P>
<P>#</P>
<P># Normaly all you will need to modify is the first properties, i.e.</P>
<P># workers.tomcat_home, workers.java_home and ps. Most of the configuration</P>
<P># is derived from these.</P>
<P>#</P>
<P># When you are done updating workers.tomcat_home, workers.java_home and ps</P>
<P># you should have 3 workers configured:</P>
<P>#</P>
<P># - An ajp12 worker that connects to localhost:8007</P>
<P># - An ajp13 worker that connects to localhost:8009</P>
<P># - A jni inprocess worker.</P>
<P># - A load balancer worker</P>
<P>#</P>
<P># However by default the plugins will only use the ajp12 worker. To have</P>
<P># the plugins use other workers you should modify the worker.list property.</P>
<P>#</P>
<P>#</P>
<P>&nbsp;</P>
<P>#</P>
<P># workers.tomcat_home should point to the location where you</P>
<P># installed tomcat. This is where you have your conf, webapps and lib</P>
<P># directories.</P>
<P>#</P>
<P>workers.tomcat_home=c:\Tomcat 4.0</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>#</P>
<P># workers.java_home should point to your Java installation. Normally</P>
<P># you should have a bin and lib directories beneath it.</P>
<P>#</P>
<P>workers.java_home=c:\jdk1.3</P>
<P>&nbsp;</P>
<P>#</P>
<P># You should configure your environment slash... ps= on NT and / on UNIX</P>
<P># and maybe something different elsewhere.</P>
<P>#</P>
<P>ps=\</P>
<P># ps=/</P>
<P>&nbsp;</P>
<P>#</P>
<P>#------ ADVANCED MODE ------------------------------------------------</P>
<P>#---------------------------------------------------------------------</P>
<P>#</P>
<P>&nbsp;</P>
<P>#</P>
<P>#------ DEFAULT worket list ------------------------------------------</P>
<P>#---------------------------------------------------------------------</P>
<P>#</P>
<P>#</P>
<P># The workers that your plugins should create and work with</P>
<P>#</P>
<P>worker.list=ajp12, ajp13</P>
<P>&nbsp;</P>
<P>#</P>
<P>#------ DEFAULT ajp12 WORKER DEFINITION ------------------------------</P>
<P>#---------------------------------------------------------------------</P>
<P>#</P>
<P>&nbsp;</P>
<P>#</P>
<P># Defining a worker named ajp12 and of type ajp12</P>
<P># Note that the name and the type do not have to match.</P>
<P>#</P>
<P>worker.ajp12.port=8007</P>
<P>worker.ajp12.host=localhost</P>
<P>worker.ajp12.type=ajp12</P>
<P>#</P>
<P># Specifies the load balance factor when used with</P>
<P># a load balancing worker.</P>
<P># Note:</P>
<P># ----&gt; lbfactor must be &gt; 0</P>
<P># ----&gt; Low lbfactor means less work done by the worker.</P>
<P>worker.ajp12.lbfactor=1</P>
<P>&nbsp;</P>
<P>#</P>
<P>#------ DEFAULT ajp13 WORKER DEFINITION ------------------------------</P>
<P>#---------------------------------------------------------------------</P>
<P>#</P>
<P>&nbsp;</P>
<P>#</P>
<P># Defining a worker named ajp13 and of type ajp13</P>
<P># Note that the name and the type do not have to match.</P>
<P>#</P>
<P>worker.ajp13.port=8009</P>
<P>worker.ajp13.host=localhost</P>
<P>worker.ajp13.type=ajp13</P>
<P>#</P>
<P># Specifies the load balance factor when used with</P>
<P># a load balancing worker.</P>
<P># Note:</P>
<P># ----&gt; lbfactor must be &gt; 0</P>
<P># ----&gt; Low lbfactor means less work done by the worker.</P>
<P>worker.ajp13.lbfactor=1</P>
<P>&nbsp;</P>
<P>#</P>
<P># Specify the size of the open connection cache.</P>
<P>#worker.ajp13.cachesize</P>
<P>&nbsp;</P>
<P>#</P>
<P>#------ DEFAULT LOAD BALANCER WORKER DEFINITION ----------------------</P>
<P>#---------------------------------------------------------------------</P>
<P>#</P>
<P>&nbsp;</P>
<P>#</P>
<P># The loadbalancer (type lb) workers perform wighted round-robin</P>
<P># load balancing with sticky sessions.</P>
<P># Note:</P>
<P># ----&gt; If a worker dies, the load balancer will check its state</P>
<P># once in a while. Until then all work is redirected to peer</P>
<P># workers.</P>
<P>worker.loadbalancer.type=lb</P>
<P>worker.loadbalancer.balanced_workers=ajp12, ajp13</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>#</P>
<P>#------ DEFAULT JNI WORKER DEFINITION---------------------------------</P>
<P>#---------------------------------------------------------------------</P>
<P>#</P>
<P>&nbsp;</P>
<P>#</P>
<P># Defining a worker named inprocess and of type jni</P>
<P># Note that the name and the type do not have to match.</P>
<P>#</P>
<P>worker.inprocess.type=jni</P>
<P>&nbsp;</P>
<P>#</P>
<P>#------ CLASSPATH DEFINITION -----------------------------------------</P>
<P>#---------------------------------------------------------------------</P>
<P>#</P>
<P>&nbsp;</P>
<P>#</P>
<P># Additional class path components.</P>
<P>#</P>
<P>worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes</P>
<P>&nbsp;</P>
<P>#</P>
<P># The XML parser provided with Tomcat</P>
<P>#</P>
<P>worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar</P>
<P>worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar</P>
<P>&nbsp;</P>
<P>#</P>
<P># Tomcat`s implementation</P>
<P>#</P>
<P>worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar</P>
<P>worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar</P>
<P>worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar</P>
<P>&nbsp;</P>
<P>#</P>
<P># Javac as available from Java2SE</P>
<P>#</P>
<P>worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar</P>
<P>&nbsp;</P>
<P>#</P>
<P># Setting the command line for tomcat</P>
<P># Note: The cmd_line string may not contain spaces.</P>
<P>#</P>
<P>worker.inprocess.cmd_line=-config</P>
<P>worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml</P>
<P>worker.inprocess.cmd_line=-home</P>
<P>worker.inprocess.cmd_line=$(workers.tomcat_home)</P>
<P>&nbsp;</P>
<P>#</P>
<P># The JVM that we are about to use</P>
<P>#</P>
<P># This is for Java2</P>
<P>#</P>
<P>worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll</P>
<P>&nbsp;</P>
<P>#</P>
<P># And this is for jdk1.1.X</P>
<P>#</P>
<P>#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll</P>
<P>#</P>
<P>&nbsp;</P>
<P>#</P>
<P># Setting the place for the stdout and stderr of tomcat</P>
<P>#</P>
<P>worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout</P>
<P>worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr</P>
<P>&nbsp;</P>
<P>#</P>
<P># Setting the tomcat.home Java property</P>
<P>#</P>
<P>worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)</P>
<P>&nbsp;</P>
<P>#</P>
<P># Java system properties</P>
<P>#</P>
<P># worker.inprocess.sysprops=java.compiler=NONE</P>
<P># worker.inprocess.sysprops=myprop=mypropvalue</P>
<P>&nbsp;</P>
<P>#</P>
<P># Additional path components.</P>
<P>#</P>
<P># worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin</P>
<P>#</P>
<P>在这个文件中需要修改两个地方，一个是workers.tomcat_home，这是指定Tomcat工作的目录，另外一个是workers.java_home，这是指定Jdk的目录，大家可以做适当修改！</P>
<P>再配置TOMCAT核心文件,打开 c:\Tomcat4.0\conf\server.xml</P>
<P>修改如下：</P>
<P>将&lt;!-- Define an AJP 1.3 Connector on port 8009 --&gt;</P>
<P>&lt;!--</P>
<P>&lt;Connector className="org.apache.ajp.tomcat4.Ajp13Connector"</P>
<P>port="8009" minProcessors="5" maxProcessors="75"</P>
<P>acceptCount="10" debug="0"/&gt;</P>
<P>--&gt;</P>
<P>的&lt;!-- --&gt; 去掉，这句话熟悉XML的人都知道它是注释，因为默认的Tomcat4</P>
<P>是没有启用Apj13的8009的端口即mod_jk所使用，修改后如下：</P>
<P>&lt;Connector className="org.apache.ajp.tomcat4.Ajp13Connector"</P>
<P>port="8009" minProcessors="5" maxProcessors="75"</P>
<P>acceptCount="10" debug="0"/&gt;</P>
<P>然后保存，现在你的配置基本完成了。重新启动计算机，开始整体测试。</P>
<P><BR>5、测试：</P>
<P>首先，启动Apache，然后在浏览器里输入<A href="http://localhost">http://localhost</A>，如果能看<BR>到Apache的欢迎页面，那么恭喜您，第一步成功了。</P>
<P>然后，运行startup.bat启动Tomcat，再打开浏览器输入：<A href="http://localhost:8080/">http://localhost:8080/</A><BR>如果看到可爱的Tomcat，那么恭喜您，Tomcat也没有问题。</P>
<P>最后最重要的是Apache下可以解释jsp和Servlet,把下面的代码copy到文本编辑器中命名为</P>
<P>rosealet.jsp,</P>
<P>内容如下:</P>
<P>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;</P>
<P>&lt;html&gt;</P>
<P>&lt;body&gt;</P>
<P>&lt;%String str="rosealet studio.";%&gt;</P>
<P>&lt;%str=str+"welcome";%&gt;</P>
<P>&lt;%=str%&gt;</P>
<P>&lt;/body&gt;</P>
<P>&lt;/html&gt;</P>
<P>将它保存到C:\Tomcat 4.0\webapps\ROOT下，然后在浏览器里输入</P>
<P><A href="http://localhost/rosealet.jsp">http://localhost/rosealet.jsp</A>如果看到了rosealet,那么您的确成功了。 </P>
<P>&nbsp;</P>
<P>我再阐述一个问题：</P>
<P>对于APACHE主机下访问的JSP文件，实际上物理上不存在与APACHE的主机上，而是存在TOMCAT的主机目录里，例如：</P>
<P><A href="http://localhost/rosealet.jsp">http://localhost/rosealet.jsp</A> 中rosealet.jsp文件实际不在 c:\apache\htdocs\下，而在C:\Tomcat 4.0\webapps\ROOT 下。这点请注意，不要混淆概念！</P>
<P>&nbsp;<BR>转自<A href="http://www.oxbbs.net/cgi-bin/forums.cgi?forum=38">http://www.oxbbs.net/cgi-bin/forums.cgi?forum=38</A>，原作者rosealet<BR>&nbsp;</P>
<P><BR>　--生活，是时尚，是艺术--　 <BR>--TheStudioPlus-- </P>
<P><BR>&nbsp;补充日期: 2003-05-21 12:30:00</P>
<P>再谈apache+tomcat，对以前文章的补充</P>
<P>这是对以前我的那篇"WIN2K+APACHE+JSP+TOMCAT配置总结"的补充。</P>
<P>一、配置环境变量：</P>
<P>1、以前我们配置的环境变量：</P>
<P>变量名：path<BR>变量值：c:\jdk1.3\bin</P>
<P>变量名：JAVA_HOME<BR>变量值：c:\jdk1.3</P>
<P>变量名：CLASSPATH<BR>变量值：.\;c:\jdk1.3\lib\dt.jar;c:\jdk1.3\lib\tools.jar</P>
<P>2、现在我们也可以配置为：</P>
<P>变量名：JAVA_HOME<BR>变量值：C:\jdk1.3 　&nbsp;&nbsp; //若你没按以上路径安装请更改为正确的路径</P>
<P>变量名：TOMCAT_HOME<BR>变量值：C:\Tomcat4 　&nbsp; //若你没按以上路径安装请更改为正确的路径</P>
<P>变量名：CLASSPATH<BR>变量值：%JAVA_HOME%\lib;%TOMCAT_HOME%\lib;%JAVA_HOME%\jre\bin</P>
<P>变量名：path<BR>变量值：c:\jdk1.3\bin;c:\jdk1.3\jre\bin;</P>
<P><BR>二、更改tomcat运行测试目录：</P>
<P>假设你已有一个项目在e:\rosealet目录下，包含index.jsp及其它jsp文件和bean，如WEB-INF\classes\下的<BR>servlet、javabean。</P>
<P>1.设置Tomcat以支持你的项目目录，打开C:\Tomcat4\conf\server.xml文件，在"&lt;/Context&gt;"-"&lt;/Host&gt;"添加<BR>&lt;Context path="/rosealet" debug="0" docBase="e:\rosealet" reloadable="true"/&gt;并保存。</P>
<P>说明：Context (表示一个web应用程序)；docBase定义本地路径；path 表示此web路径的url，<BR>　　　reloadable 这个属性非常重要，如果为true，则tomcat会自动检测应用程序的/WEB-INF/lib<BR>　　&nbsp; 和/WEB-INF/classes目录的变化，自动装载修改或新的bean及servlet，我们可以在不重起tomcat<BR>　　　的情况下看到bean带给jsp的变化。</P>
<P>　　　这样请求的url：<A href="http://localhost/rosealet">http://localhost/rosealet</A><BR>　　 <BR>2.启动Tomcat，在浏览器的地址中输入<A href="http://localhost/rosealet">http://localhost/rosealet</A>，如你的jsp及bean,servlet没有错误，<BR>一般会将你的index.jsp/index.html文件的</P>
<P><BR>三、Apache与Tomcat综合配置和虚拟主机配置：</P>
<P>&nbsp;若Apache与Tomcat正运行着，请关闭它们。</P>
<P>&nbsp;(1)配置Apache:</P>
<P>　　&nbsp; 1.将下载的mod_jk.dll复制到c:\apache\modules或c:\apache\libexec 下。(无论复制到什么位置，<BR>　　　　httpd.conf中是可以指定相应的位置的)</P>
<P>　　　2.设置主页文件类型：</P>
<P>　　　&nbsp; 编辑C:\Apache\conf下的httpd.conf，在"DirectoryIndex"一行，index.html的后面也可以添加<BR>　　　&nbsp; index.jsp并保存，注意相互之间应有空格。</P>
<P>　　　3.设置虚拟主机：</P>
<P>　　　　apache中添加虚拟主机格式：<BR>　　　　&lt;VirtualHost&gt;<BR>　　　　　ServerAdmin <A href="mailto:webmaster@dummy-host.example.com">webmaster@dummy-host.example.com</A><BR>　　　　　DocumentRoot /www/docs/dummy-host.example.com<BR>　　　　　ServerName dummy-host.example.com<BR>　　　　　ErrorLog logs/dummy-host.example.com-error_log<BR>　　　　　CustomLog logs/dummy-host.example.com-access_log common<BR>　　　　&lt;/VirtualHost&gt;<BR>　　　 <BR>　　　　让Apache自动控制html与jsp的解析<BR>　　　&nbsp; 编辑httpd.conf，在最后加入下面这段代码。</P>
<P>　　　　&lt;VirtualHost localhost&gt;&nbsp;&nbsp; 　　　　　　　　&nbsp; 　　//localhost为本机，你可用本机ip<BR>　　　　　ServerAdmin <A href="mailto:admin@rosealet.com">admin@rosealet.com</A> 　&nbsp; 　　　　　 //你的mail地址<BR>　　　　　DocumentRoot e:\rosealet&nbsp;&nbsp; 　　　　　　　　&nbsp;&nbsp; //你的项目根目录，因为rosealet下可能有其他目路，因此设为e:\rosealet<BR>　　　　　ServerName localhost&nbsp;&nbsp; 　　　　　　　　&nbsp; 　&nbsp;&nbsp; //你的服务名，若你的机器有域名，设为域名，现用本机作测试<BR>　　　　　ErrorLog logs/rosealet_home_log.txt 　　　　&nbsp; //错误日志，在C:\Apache\logs下，可用其它任意名字<BR>　　　　　CustomLog logs/rosealet_Custom_log.txt common //访问日志，在C:\Apache\logs下，可用其它任意名字<BR>　　　　&lt;/VirtualHost&gt;</P>
<P><BR>　　　4.设置Apache与Tomcat之间的连接：</P>
<P>　　　&nbsp; 让Apache遇到jsp文件时，在后台将其交由Tomcat去处理。</P>
<P>　　　&nbsp; 编辑httpd.conf，在最后加入下面这段代码。</P>
<P>　　　　# Using mod_jk.dll to redirect dynamic calls to Tomcat</P>
<P>　　　　　LoadModule jk_module modules/mod_jk.dll 　　　　　&nbsp; //装载模块，用于处理连接,如mod_jk放在libexec应些为：LoadModule jk_module libexec/mod_jk.dll</P>
<P>　　　　　AddModule mod_jk.c 　&nbsp; 　　　　　　　　&nbsp; 　　　　&nbsp;&nbsp; //使用mod_jk.c的module，此行可删除</P>
<P>　　　　　JkWorkersFile "c:/tomcat4/conf/workers.properties"&nbsp; //设置模块的工作文件</P>
<P>　　　　　JkLogFile "/logs/mod_jk.log" 　　　　　　　　&nbsp; 　&nbsp;&nbsp; //设置模块工作的日志文件，Tocmat启动时会自建</P>
<P>　　　　　JkLogLevel info 　&nbsp; 　　　　　　　　&nbsp; 　　　　　　&nbsp; //设置日志文件的等级，此行可删除</P>
<P>　　　　　JkLogStampformat "[%a %b %d %H:%M:%S %Y] " 　　　&nbsp;&nbsp; //设置日志文件的格式，此行可删除</P>
<P>　　　　　JkMount /servlet/* ajp13&nbsp;&nbsp; 　　　　　　　　&nbsp; 　　&nbsp;&nbsp; //让Apache支持对servlet传送，用以Tomcat解析</P>
<P>　　　　　JkMount /*.jsp ajp13&nbsp;&nbsp; 　　　　　　　　&nbsp; 　　　　&nbsp;&nbsp; //让Apache支持对jsp传送，用以Tomcat解析</P>
<P><BR>　　&nbsp; 到此Apache的配置基本完成，不过这时启动Apache还不能正常工作。</P>
<P><BR>&nbsp;(2)配置Tomcat：</P>
<P>　　&nbsp; 在C:\Tomcat\conf下新建文件workers.properties，以前我们曾经建立过，它的内容非常多<BR>　　　但我们可以把它精简后如下：<BR>　　　workers.tomcat_home=c:\Tomcat4<BR>　　　workers.java_home=c:\jdk1.3<BR>　　　ps=\<BR>　　　worker.list=ajp12, ajp13<BR>　　　worker.ajp12.port=8007<BR>　　　worker.ajp12.host=localhost<BR>　　　worker.ajp12.type=ajp12<BR>　　　worker.ajp12.lbfactor=1<BR>　　　worker.ajp13.port=8009<BR>　　　worker.ajp13.host=localhost<BR>　　　worker.ajp13.type=ajp13<BR>　　　worker.ajp13.lbfactor=1<BR>　　　worker.loadbalancer.type=lb<BR>　　　worker.loadbalancer.balanced_workers=ajp12, ajp13<BR>　　　worker.inprocess.type=jni<BR>　　&nbsp; worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes<BR>　　&nbsp; worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jaxp.jar<BR>　　&nbsp; worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)parser.jar<BR>　　&nbsp; worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)jasper.jar<BR>　　&nbsp; worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet.jar<BR>　　&nbsp; worker.inprocess.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)webserver.jar<BR>　　&nbsp; worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar<BR>　　　worker.inprocess.cmd_line=-config<BR>　　&nbsp; worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/jni_server.xml<BR>　　　worker.inprocess.cmd_line=-home<BR>　　&nbsp; worker.inprocess.cmd_line=$(workers.tomcat_home)<BR>　　&nbsp; worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll<BR>　　&nbsp; worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout<BR>　　&nbsp; worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr<BR>　　&nbsp; worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)</P>
<P><BR>我们还可以更加精简，因我们只用ajp13其内容如下:<BR>　　　　　　　&nbsp;&nbsp; workers.tomcat_home=c:\Tomcat4 　&nbsp; //让mod_jk模块知道Tomcat<BR>　　　　　　　&nbsp;&nbsp; workers.java_home=c:\jdk1.3 　　&nbsp;&nbsp; //让mod_jk模块知道j2sdk<BR>　　　　　　　&nbsp;&nbsp; ps=\<BR>　　　　　　　&nbsp;&nbsp; worker.list=ajp13 　　　　　&nbsp; 　　 //模块版本,现有ajp14了,不要修改<BR>　　　　　　　&nbsp;&nbsp; worker.ajp13.port=8009 　　　　&nbsp; 　//工作端口,若没占用则不用修改<BR>　　　　　　　&nbsp;&nbsp; worker.ajp13.host=localhost 　　&nbsp;&nbsp; //本机,若上面的Apache主机不为localhost,作相应修改<BR>　　　　　　　&nbsp;&nbsp; worker.ajp13.type=ajp13 　　　　&nbsp;&nbsp; //类型<BR>　　　　　　　&nbsp;&nbsp; worker.ajp13.lbfactor=1 　　　　&nbsp;&nbsp; //代理数,不用修改</P>
<P><BR>　　　2.编辑server.xml文件:</P>
<P>　　　　让tomcat打开ajp13端口8009<BR>　　 <BR>　　　　找到：<BR>　　　　&lt;!-- Define an AJP 1.3 Connector on port 8009 --&gt;<BR>　　　　&lt;!--<BR>　　　　&lt;Connector className="org.apache.ajp.tomcat4.Ajp13Connector" port="8009" minProcessors="5"<BR>　　　　maxProcessors="75" acceptCount="10" debug="0"/&gt;<BR>　　　　--&gt;</P>
<P>　　　　更改为:<BR>　　　　&lt;!-- Define an AJP 1.3 Connector on port 8009 --&gt;<BR>　　　　&lt;Connector className="org.apache.ajp.tomcat4.Ajp13Connector" port="8009" minProcessors="5"<BR>　　　　maxProcessors="75" acceptCount="10" debug="0"/&gt;</P>
<P>四、测试：<BR>　　1.启动Apache，Tomcat。<BR>　&nbsp; 2.打开你的浏览器，在地址栏中输入<A href="http://localhost:8080/rosealet">http://localhost:8080/rosealet</A> ，若与上面的测试相同，<BR>　　　则Tomcat重新配置后正常！<BR>　　3.在地址栏中输入<A href="http://localhost/rosealet">http://localhost/rosealet</A> ，若与<A href="http://localhost:8080/rosealet">http://localhost:8080/rosealet</A>的结果相同，<BR>　　　那恭喜你，Apache与Tomcat整合成功了！</P>
<P>&nbsp;</P>
<P><BR>五、虚拟主机下的配置、管理和应用：</P>
<P>&nbsp;&nbsp; 下面以一个例子来说明虚拟主机如何同时使用Apache与Tomcat</P>
<P>虚拟主机host1的目录结构如下所示：<BR>/www <BR>　　 |---host1 虚拟主机host1的主目录<BR>　　 | |--htdocs 普通根目录：用于显示静态页面或php程序<BR>　　 | |----logs apache访问日志<BR>　　 | |----webapps java应用目录（新加，与tomcat的webapps目录无任何关联）<BR>　　 | |--ROOT jsp根目录：用于显示jsp页面程序<BR>　　 | |----kim 一套java应用实例<BR>　　 |---host2 虚拟主机host2的主目录<BR>　　............</P>
<P><BR>&nbsp;&nbsp; 要让虚拟主机host1能同时使用Apache与Tomcat4，需要做如下配置：</P>
<P>　　1、编辑tomcat的配置文件server.xml，在最后的部分找到：</P>
<P>　　&lt; !-- Define an Apache-Connector Service -- &gt;</P>
<P>　 &lt;!--<BR>　　&lt; Service name="Tomcat-Apache" &gt;</P>
<P>　　&lt; Connector className="org.apache.catalina.connector.warp.WarpConnector"<BR>　　port="8008" minProcessors="5" maxProcessors="75"<BR>　　enableLookups="true" appBase="webapps"<BR>　　acceptCount="10" debug="0"/ &gt;</P>
<P>　 &lt; Engine className="org.apache.catalina.connector.warp.WarpEngine"<BR>　　name="Apache" debug="0" &gt;</P>
<P>　　&lt; Logger className="org.apache.catalina.logger.FileLogger"<BR>　　prefix="apache_log." suffix=".txt"<BR>　 timestamp="true"/ &gt;</P>
<P>　　&lt; Realm className="org.apache.catalina.realm.MemoryRealm" / &gt;<BR>　 -- &gt;</P>
<P>　 修改为：</P>
<P>　 &lt; !-- Define an Apache-Connector Service -- &gt;</P>
<P>　 &lt; Service name="Tomcat-Apache" &gt;</P>
<P>　　&lt; Connector className="org.apache.catalina.connector.warp.WarpConnector"<BR>　　port="8008" minProcessors="5" maxProcessors="75"<BR>　　enableLookups="true" appBase="webapps"<BR>　　acceptCount="10" debug="0"/ &gt;</P>
<P>　 &lt; Engine className="org.apache.catalina.connector.warp.WarpEngine"<BR>　　name="Apache" debug="0" &gt;</P>
<P>　　&lt; Logger className="org.apache.catalina.logger.FileLogger"<BR>　　prefix="apache_log." suffix=".txt"<BR>　 timestamp="true"/ &gt;<BR>&lt; !-- 下面是新加的内容 -- &gt;<BR>　　&lt; Realm className="org.apache.catalina.realm.MemoryRealm" / &gt;</P>
<P>　 &lt; Host name="host1.rosealet.com" debug="0" appBase="/www/host1/webapps"<BR>　 uppackWars="true" autoDeploy="true" &gt; 　&nbsp; 　　　　　　　　&nbsp;&nbsp; //定义虚拟主机host1的主目录</P>
<P>　　&lt; Context path="" docBase="ROOT" debug="0"/ &gt;&nbsp;&nbsp; 　　　　　　 //定义jsp根目录</P>
<P>&lt; !-- 下面套用的是tomcat自带的管理页面，在虚拟主机下也可使用 -- &gt;<BR>　 &lt; Context path="/manager" debug="0" privileged="true"<BR>　　docBase="../server/webapps/manager"/ &gt; 　　&nbsp; 　　　　　　　&nbsp; //"../server/webapps/manager"指定到tomcat安装目录</P>
<P>　 &lt;Context path="/admin" docBase="../server/webapps/admin"<BR>　 debug="0" privileged="true"&gt; 　　&nbsp; 　　　　　　　　&nbsp; 　　　&nbsp; //"../server/webapps/manager"指定到tomcat安装目录</P>
<P>　　&lt; Context path="/kim" docBase="kim" debug="0"<BR>　 reloadable="true" crossContext="true"/ &gt;&nbsp;&nbsp; 　　　　　　　　&nbsp; //在/kim下定义java应用实例</P>
<P>　　&lt; Logger className="org.apache.catalina.logger.FileLogger"<BR>　 prefix="host1_log." suffix=".txt"<BR>　　timestamp="true"/ &gt;<BR>　　&lt; /Host &gt;</P>
<P>&lt; !-- 新加内容结束 -- &gt;</P>
<P>&lt; /Engine &gt;</P>
<P>　　&lt; /Service &gt;</P>
<P>　2、编辑tomcat的管理权限文件tomcat-users.xml，在中间加一行：</P>
<P><BR>&lt; user username="name" password="passwd" roles="standard,manager"/ &gt; 　//name、passwd可自定义</P>
<P><BR>　　3、编辑apache的配置文件，httpd.conf做如下修改：</P>
<P><BR>　　&lt; VirtualHost xxx.xxx.xxx.xxx &gt;<BR>　　&nbsp; ServerName host1.rosealet.com<BR>　　&nbsp; ServerAdmin <A href="mailto:host1@rosealet.com">host1@rosealet.com</A><BR>　　&nbsp; DocumentRoot /www/host1/htdocs<BR>　　&nbsp; ErrorLog /www/host1/logs/error_log<BR>　　&nbsp; CustomLog /www/host1/logs/access_log common</P>
<P>　　&nbsp; WebAppDeploy ROOT warpConnection /<BR>　 &lt; /VirtualHost &gt;<BR>　　// 注：此行的作用是把ROOT目录作为虚拟主机URL的根，并使前面定义的根htdocs失效。<BR>　　&nbsp;&nbsp; 但如果不想整个虚拟主机都使用jsp页面程序，而想使用大量静态页面或php程序的话，<BR>　　&nbsp;&nbsp; 就要使用下面这行，并把所有的静态页面和php程序放在htdocs目录下。<BR>　 // WebAppDeploy ROOT warpConnection /jsp</P>
<P>&nbsp;　　 WebAppDeploy manager warpConnection /manager</P>
<P>&nbsp;　　 WebAppDeploy jive warpConnection /kim<BR>　　// 在server.xml里每定义一个都要在这里加一条WebAppDeploy。</P>
<P>　　</P>
<P>&nbsp;&nbsp; 以后访问<A href="http://host1.rosealet.com/manager/">http://host1.rosealet.com/manager/</A>或<A href="http://host1.rosealet.com/admin/">http://host1.rosealet.com/admin/</A> 会提示输入密码，<BR>　 在输入正确的 name和passwd后，就会看到“Tomcat Web Application Manager”的页面，里面的<BR>　 Application Path已经是虚拟主机里配置的信息了，并可以对其进行管理。</P>
<P>&nbsp;&nbsp; 到此虚拟主机下的配置和管理就全部完成，剩下的事情就是测试和应用了。<BR></P><img src ="http://www.blogjava.net/jackywjj/aggbug/16964.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jackywjj/" target="_blank">jacky wu</a> 2005-10-27 09:57 <a href="http://www.blogjava.net/jackywjj/articles/16964.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>