古来青史谁不见,今见功名胜古人

不以物喜,不以己悲。

Tomcat基础配置说明

简介

tomcat是作为基本的web服务器被广泛使用,它和apache服务器略有不同,一般来讲apache服务器用于展示静态的文档信息,tomcat服务器用于动态jsp、servlet处理。目前大多数单一使用tomcat即可。现行版本多是tomcat 6.x。

安装和运行

下载tomcat免安装版,解压到指定目录(例如:d:/tomcat 6.x),进行环境变量CATALINA_HOME的设置。在%tomcat%/bin下含有startup.bat和shotdown.bat进行tomcat的启动和关闭。
tomcat的bin目录下同时会有catalina.bat文件,可指定start、run、debug、embedded、stop命令进行新窗口启动、当前窗口启动、调试模式启动、嵌入模式启动、关闭操作。

目录结构

  • bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件
  • conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml(注:如果需要配置用户名密码等,还需要配置tomcat-users.xml)
  • doc:存放Tomcat文档
  • logs:存放Tomcat执行时的日志文件
  • src:存放Tomcat的源代码
  • webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录
  • work:默认把web运行时生成的一些工作文件放在此目录当中例如:存放JSP编译后产生的class文件
  • server:包含三个子目录:classes、lib和webapps(tomcat 5.x含有)
  • server/lib:存放Tomcat服务器所需的各种JAR文件(tomcat 5.x含有)
  • server/webapps:存放Tomcat自带的两个WEB应用admin应用和 manager应用(tomcat 5.x含有)
  • common/lib:存放Tomcat服务器以及所有web应用都可以访问的jar文件(tomcat 5.x含有)

组成结构

tomcat本身由一系列配置文件组成,主要配置文件存在于%CATALINA_HOME%/conf/server.xml当中,结构如下:

<Server>
    <Service>
        <Connector />
        <Engine>
            <Host>
                <Context>
                </Context>
            </Host>
        </Engine>
    </Service>
</Server>

由于有不少属性,故借鉴其他地方进行总结如下:
1.Server
说明:代表整个Servlet容器组件,是顶层元素。包含多个Service
参数–port:指定一个端口,这个端口负责监听关闭tomcat的请求
参数–shutdown:指定向端口发送的命令字符串,通常是“SHUTDOWN”
例如:

<Server port="8005" shutdown="SHUTDOWN"> ...... </Server>

2.Service
说明:包含一个,一个或多个元素
参数–name:指定service的名字,通常是”Catalina”

<Service name="Catalina"> ...... </Service>

3.Connector
说明:表示客户端和服务器实际交互的组件
参数–port:指定服务器端要创建的端口号,并使用这个断口监听来自客户端的请求
参数–protocol:指定协议
参数–connectionTimeout:指定超时的时间数(以毫秒为单位)
参数–redirectPort:指定当服务器正在处理HTTP请求时收到了一个SSL传输请求后重定向的端口号
以下参数不常使用:
参数–minProcessors(考察是否有此属性):服务器端启动时创建的处理请求的线程数
参数–maxProcessors(考察是否有此属性):最大可以创建的处理请求的线程数
参数–maxThreads:服务器创建的最大线程数
参数–minSpareThreads:最小剩余线程数
参数–maxSpareThreads:最大剩余线程数
参数–enableLookups:如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其IP地址
参数–acceptCount:指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过的请求将不予处理
参数–disableUploadTimeout:不明
参数–debug:不明

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

4.Engine
说明:只能含有一个,指定service中的请求处理主机,接收和处理来自Connector的请求
参数–name:指定Engine的名字,通常是”Catalina”
参数–defaultHost:指定默认的处理请求的主机名,至少与某个host元素的name属性值是相同的

<Engine name="Catalina" defaultHost="localhost"/>

5.Host
说明:表示一个虚拟主机,支持多个context
参数–name:指定虚拟主机名字
参数–debug:指定日志级别
参数–appBase:虚拟机应用的根目录。存放Web应用程序的基本目录,可以是绝对路径或相对于%CATALINA_HOME%的目录,默认是CATALINA_HOME/webapps
参数–autoDeploy:如果为true,表示Tomcat启动时会自动发布appBase目录下所有的Web应用(包括新加入的Web应用)
参数–unpackWARs:如果为true,则tomcat会自动将WAR文件解压后运行,否则不解压而直接从WAR文件中运行应用程序
参数–deployOnStarup:如果此项为true,表示Tomcat服务器启动时会自动发布appBase目录下所有Web应用。如果Web应用在server.xml中没有相应的元素,则将采用默认的Context配置。deployOnStarup的默认设置是true
参数–alias:指定虚拟主机的别名,可以指定多个别名
参数–xmlValidation:不明
参数–xmlNamespaceAware:不明

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"/>

6.Context
说明:表示一个web应用程序
参数–docBase:指定此Web应用的绝对或相对路径,也可以为WAR文件的路径
参数–path:表示此Web应用程序的url的入口
参数–reloadable:如果为true,则Tomcat在运行时会自动监视Web应用的/WEB-INF/lib和 /WEB-INF/classes下文件的改动,自动装载新应用,使我们可以在不重启Tomcat的情况下更新Web应用

<Context docBase="D:\apache-tomcat-7.0.62\webapps\Hello" path="/Hello" reloadable="true"/>

注:每个还有其他的节点和属性,例如Listener,每个节点下还有其他的参数,可自行查找。

以下对tomcat 7.x中的配置进行了说明:

<?xml version="1.0" encoding="UTF-8"?>
<!--主要节点,唯一 -->
<Server port="8005" shutdown="SHUTDOWN">
    <!--Listener节点,可有多个-->
  <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.core.JasperListener"/>
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>

   <!--全局资源节点 --> 
  <GlobalNamingResources>
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
  </GlobalNamingResources>

    <!--含有多个connector -->
  <Service name="Catalina">

    <!--端口设置从这里设置 -->
    <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

    <!--唯一,接受和处理请求-->
    <Engine defaultHost="localhost" name="Catalina">

      <!--对域进行的权限控制 -->
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

        <!--项目直接放在webapps目录就是因为配置此节点,可以配置多个节点,例如:本地的http:localhost:8080就是这里的host -->
      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

        <!--配置web应用,一般不推荐此处配置 -->
        <Context docBase="D:\apache-tomcat-7.0.62\webapps\Hello" path="/Hello" reloadable="true"/>

      </Host>
    </Engine>
  </Service>
</Server>

部署web应用

tomcat部署web应用方法很多,可以百度到不少,但是感觉没有说基本的,都是按照其他方式划分,比如动态部署,静态部署,容易让人配置,却不知道由来。以下进行总结。
tomcat部署web时会采用以下5种方式,依次尝试查找web应用的Context元素,按顺序进行查找:
1.说明:就是静态部署,不推荐
位置:%CATALINA_HOME%/conf/context.xml
范围:所有的web应用
2.说明:默认全局配置,对应engine下的hostname
位置:%CATALINA_HOME%/conf/[enginename]/[hostname]/context.xml.default
范围:所有的web应用
3.说明:单个web配置,推荐
位置: %CATALINA_HOME%/conf/[enginename]/[hostname]/[contextpath].xml
范围:适用单个web配置
4.说明:单个配置,推荐
位置:web应用的META-INF/context.xml
范围:当前web应用
5.说明:就是静态部署,不推荐
位置:%CATALINA_HOME%/conf/server.xml
范围:单个web应用

其他的静态部署、动态部署多是基于此进行部署的,可以进行查找。当使用eclipse时,配置好tomcat可以自动配置context文件的,默认采用了第三种方式,可以进行查看。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011656266/article/details/49896303
文章标签: tomcat
个人分类: Java中间件
想对作者说点什么? 我来说一句

tomcat中的几点配置说明

2009年07月15日 2KB 下载

3、TOMCAT基础配置进阶篇

2010年12月07日 242KB 下载

tomcat配置说明

2012年08月29日 663KB 下载

tomcat集群的配置

2010年06月28日 6KB 下载

tomcat容器

2017年09月20日 11.97MB 下载

Tomcat JNDI配置

2015年02月06日 43KB 下载

没有更多推荐了,返回首页

不良信息举报

Tomcat基础配置说明

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭