您的位置:首页 > 运维架构 > Tomcat

Tomcat - 简明用户手册

2008-05-21 04:34 288 查看
google_ad_client = "pub-8800625213955058";

/* 336x280, 创建于 07-11-21 */

google_ad_slot = "0989131976";

google_ad_width = 336;

google_ad_height = 280;

//

这份文档提供了关于Tomcat的一些基本信息,内容如下所示:

1.Tomcat编译版本的安装.

2.被Tomcat使用的批处理文件的内容的说明。

3.关于server.xml文件(Tomcat的主要配置文件)的内容的说明

4.如何让Tomcat与本地的Web服务器协同工作。

5.如何将Tomcat部署在一个真正的网站上。

GETTING STARTED

Tomcat 是一种有JSP环境的Servlet的容器。Servlet容器是代替用户管理和调用 Servlet的运行时外壳。

Servlet容器可以粗略的划分成下面几类:

1.独立的servlet容器

独立的servlet容器Web服务器的一部分。当使用一个以Java为基础的Web服务器时就是这种情况, 例如是JavaWebServer的一部分的servlet容器。独立的Servlet容器是被Tomcat使用的缺省方式。

然而,大多数站点服务器都不是以Java为基础的,这就把我们带领导到下一两种容器类型。

2. 集成到进程中的(In-process) servlet 容器

这种servlet容器和是把Web服务器的plugin和Java容器的实现结合在一起。 Web服务器的plugin在站点服务器的地址空间的内部打开一个JVM并且让Java容器在其中运行。 如果某一个请求(Request)要求执行Servlet,那么plugin就会接管这个请求并将它传递给 Java容器(使用JNI)。这种集成到进程中的很适合多线程单一进程的服务器,而且具有很好的性能。 但是伸缩性不好。

3.未集成到进程中的(Out-of-process) servlet 容器

这一类servlet容器也是将Web服务器的plugin和JVM中运行的的Java容器的实现结合在一起, 但它是在Web服务器的外部运行的。Web服务器plugin和Java容器JVM使用某种IPC机制(通常是TCP/IP Socket)进行通信。 如果某一个请求(Request)要求执行Servlet,那么plugin就会接管这个请求并将它(使用IPC)传递到Java容器。虽然这一类Servlet容器的反应时间比不上集成进线程的Servlet容器,但是在很多方面(可伸缩性、稳定性,等等)都要好于上一类。

Tomcat能被用作一个独立的容器(主要是用来开发和调试),或者当作一个已经存在的Web服务器 (目前支持阿帕奇,IIS和Netscape服务器)的一个附加软件(add-on)。 这意味只要你部署Tomcat你就不得不决定如何使用它;同时,如果你选择选择2或者3, 你还将需要安装Web服务器软件。 Tomcat和

Jserv之间的区别是什么? Tomcat==Jserv,不是吗?

这是一种普通的误解。Jserv是被建立为与阿帕奇一起使用的Servlet API 2.0兼容的容器。 Tomcat是完全重写并且兼容Servlet API 2.2和JSP 1.1的一种容器。

Tomcat使用了一些Jserv的代码,尤其是Jserv的阿帕奇服务器适配器(adapter), 但是相似的地方仅此而已。

我应该如何安装Tomcat的编译版本?

很简单. 你应该这样做:

由下面的地址下载 zip/tar.gz/无论什么(whatever) 文件 http://jakarta.apache.org/downloads/binindex.html.
当然是jakarta-tomcat.zip或jakarta-tomcat.tar.gz。

将下载的文件解压缩到某个目录 (例如 foo)。这将会创建一个叫做"tomcat"的新的子目录。

把当前目录改变成为“tomcat”并且设置新的环境变量(TOMCAT_HOME),使它指向你的tomcat所在的目录。

在 Win32 系统中你应该键入:

"set TOMCAT_HOME=foo/tomcat"

在 UNIX 系统中你应该键入:

for bash/sh "TOMCAT_HOME=foo/tomcat ; export TOMCAT_HOME"

for tcsh "setenv TOMCAT_HOME foo/tomcat"

设置环境变量 JAVA_HOME ,使其指向你的JDK所在的目录,然后将Java解释器所在的路径添加到你的Path 环境变量中。

for Example: 在Win98下,键入set JAVA_HOME=C:/jdk1.3/

set PATH=c:/jdk1.3/bin;%PATH%

在Win NT下,环境变量的设置应该在 控制面版>系统>环境 中设置

That's it! 你现在就可以执行Tomcat,它将作为独立的Servlet容器(类型 I)来运行。

启动和停止 Tomcat

你可以用tomcat/bin目录中的批处理文件来启动Tomcat。

启动Tomcat:

在 UNIX 下: bin/startup.sh

在 Win32下 : bin/startup

停止 Tomcat:

在 UNIX 下: bin/shutdown.sh

在 Win32下: bin/shutdown

Tomcat 目录的结构

假设你已经将 Tomcat 的编译分发版本(binary distribution)解压缩(unzipped/untared)了, 你应该的到下表中所示的目录结构:

目 录 名 描 述

bin 包含启动和停止...批处理文件(scripts)。

conf 包含设置部署在Tomcat上的Web应用的变量的初始值的设置文件,包括 server.xml (Tomcat 的主要配置文件) 和 web.xml

doc 包含关于Tomcat的各种各样的文档。

lib 包含被Tomcat使用的各种各样的jar文件。在UNIX上,任何这个目录中的文件将被附加到Tomcat的classpath中。

logs Tomcat的log文件。

src servlet API的源文件。 但是别激动,呵呵,这些仅仅是应该被任何servlet容器执行的空的接口和抽象类别。

webapps 包含一些Web应用的例子

另外你可以,或者Tomcat会自动建立下列的目录:

WORK 由Tomcat自动生成,这是Tomcat放置它运行期间的中间(intermediate)文件(诸如编译的JSP文件)地方。 如果当Tomcat运行时,你删除了这个目录那么将不能够执行包含JSP的页面。

CLASSES 你可以建立这个目录以把附加的类增加到classpath中。你放到这个目录中的任何类都将会出现在Tomcat的classpath中。

Tomcat的批处理(Scripts)文件

Tomcat是一个Java程序,因此在设置若干环境变量之后,从命令行执行它是可能的。 然而,通过设置手工Tomcat用到每一环境变量和使用命令行参数来调用Tomcat是容易出错和乏味的工作。 所以,Tomcat开发组提供了一些批处理(scripts)文件来使启动的和停止Tomcat更加容易。

注意:批处理仅仅是一种方便的启动和停止Tomcat的方法... 。你可以修改他们以定制自己的CLASSPATH,环境变量(诸如PATH和LD_LIBRARY_PATH等等),但要确保生成的命令行是正确的。

这些批处理文件都是什么? 下列的表格中列出了对普通的用户是最重要批处理文件:

批处理文件 描 述

tomcat 主要的Tomcat批处理文件。用来设定正确的环境,包括的CLASSPATH,TOMCAT_HOME和JAVA_HOME,并且用适当(proper)的命令行参数启动Tomcat。

startup 启动Tomcat(Starts tomcat in the background)。 "tomcat start"的快捷方式。

shutdown 停止Tomcat。 "tomcat stop"的快捷方式。

对用户来说,最重要的一个批处理文件是 tomcat(tomcat.sh/tomcat.bat)。其他和Tomcat 相关的批处理文件仅仅是作为一种简单的单任务的指向Tomcat批处理文件的一种转向(放置不同的命令行参数等等)。 (simplified single-task oriented entry point to the tomcat script)

更进一步分析 tomcat.sh/tomcat.bat ,它执行以下操作:

操作系统 行为

Unix 如果TOMCAT_HOME未被指定,猜想TOMCAT_HOME是什么.

如果JAVA_HOME未被指定,猜想JAVA_HOME是什么.

设置一个包含如下信息的 CLASSPATH -

${TOMCAT_HOME}/classes 目录 (如果可用).

${TOMCAT-HOME}/lib中的所有内容。

${JAVA_HOME}/lib/tools.jar (这个jar文件包含工具javac,我们需要javac来编译jsp文件)。

用带命令行参数的java命令建立称为tomcat.home的系统环境,用org.apache.tomcat.startup.Tomcat作为启动类(startup class)。它也把命令行参数传递到org.apache.tomcat.startup.Tomcat,诸如:

执行开始/停止/运行等等(start/stop/run/etc)的操作。

被这个Tomcat进程(process)所用的 server.xml 文件的路径。

例如:如果server.xml位于/etc/server_1.xml,而用户想要在后台(background)中启动apache,他们应该使用下列的命令行:

bin/tomcat.sh start -f /etc/server_1.xml

Win32 设置包含下列信息的 CLASSPATH -

在 %TOMCAT_HOME%/lib 目录中的 servlet.jar, webserver.jar, jasper.jar, xml.jar

%TOMCAT_HOME%/classes (即使不存在也会设置),

%JAVA_HOME%/lib/tools.jar (其中包含执行jsp文件所需的工具javac).

执行java,假定它的路径在PATH中,用带命令行参数的java命令建立称为tomcat.home的系统环境,用org.apache.tomcat.startup.Tomcat作为启动类(startup class)。它也把命令行参数传递到org.apache.tomcat.startup.Tomcat,诸如:

执行开始/停止/运行等等(start/stop/run/etc)的操作。

被这个Tomcat进程(process)所用的 server.xml 文件的路径。

例如:如果server.xml位于 conf/server_1.xml,而用户想要在后台(background)中启动apache,他们应该使用下列的命令行:

bin/tomcat.bar start -f conf/server_1.xml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: