Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.x,相对5.x性能提升很多,主要优化了内存使用,增强IO能力,重新构造集群功能。

近期对Tomcat6.x作深入学习,参考上述声明的Tomcat全攻略,由于笔者是2001年针对Tomcat4.x所写,故参考之并针对Tomcat6.x做了总结,形成此篇学习笔记,希望对学习的人有所帮助,本文涵盖了:Tomcat目录、Server.xml元素讲解,数据库连接池配置、线程池配置、虚拟目录配置。关于如何下载、安装、运行Tomcat略,请google,相信有详细的文章讲述。

tomcat的目录结构如下:

目录名

简介

bin

存放启动和关闭tomcat脚本

conf

包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xml

work

存放jsp编译后产生的class文件

webapp

存放应用程序示例,以后你要部署的应用程序也要放到此目录

logs

存放日志文件

lib

这三个目录主要存放tomcat所需的jar文件

server.xml配置简介

 

元素名

属性

解释

server

port

指定一个端口,这个端口负责监听关闭tomcat的请求

shutdown

指定向端口发送的命令字符串

GlobalNamingResources

 

服务器的全局JNDI资源,可以有子标签<Resource></Resource>

Executor(线程池,一个或多个Connector可以共享此线程池)

name

线程池名称,名称必须唯一

namePrefix

线程的名字前缀,用来标记线程名字的,这样每个线程就用这个前缀加上线程编号了,比如 catalina-exec-1、catalina-exec-2

maxThreads

允许的最大线程池里的线程数量,默认是200,大的并发应该设置的高一些,反正只是限制而已,不占用资源

minSpareThreads

最小的保持活跃的线程数量,默认是25.这个要根据负载情况自行调整了。太小了就影响反应速度,太大了白白占用资源

maxIdleTime

最小的保持活跃的线程数量,默认是25.这个要根据负载情况自行调整了。太小了就影响反应速度,太大了白白占用资源

threadPriority

线程的等级。默认是Thread.NORM_PRIORITY

service

name

指定service的名字

Connector (表示客户端和service之间的连接)

port

指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求

minProcessors

服务器启动时创建的处理请求的线程数

maxProcessors

最大可以创建的处理请求的线程数

enableLookups

如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址

redirectPort

指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号

acceptCount

指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

connectionTimeout

指定超时的时间数(以毫秒为单位)

Engine (表示指定service中的请求处理机,接收和处理来自Connector的请求)

name

 

defaultHost

指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的

jvmRoute

 

host (表示一个虚拟主机、并且可以包含Context子节点配置虚拟目录)

name

指定主机名

appBase

应用程序基本目录,即存放应用程序的目录

unpackWARs

如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR文件中运行应用程序

autoDeploy

自动部署

xmlValidation

是否验证xml

xmlNamespaceAware

 

Realm (表示存放用户名,密码及role的数据库)

className

指定Realm使用的类名,此类必须实现org.apache.catalina.Realm接口

Context(host子节点配置虚拟目录)

path

虚拟目录名称

docBase

物理路径

Debug

Debug模式

Reload

True 重新加载,修改后自动加载

上面我们讲述了server .xml个元素的含义,下面我们给出详细示例

Tomcat数据库连接池配置如下:

server.xml配置Resource

  1. <Resource name="jdbc/ExampleDB" auth="Container" type="javax.sql.DataSource"
  2. maxActive="100" maxIdle="30" maxWait="10000"
  3. username="APP" password="APP" driverClassName="org.apache.derby.jdbc.ClientDriver"
  4. url="jdbc:derby://localhost:1527/springside-example;create=true"/>

context.xml文件增加:

  1. <WatchedResource>WEB-INF/web.xml</WatchedResource>
  2. <ResourceLink name="jdbc/ExampleDB"   global="jdbc/ExampleDB"   type="javax.sql.DataSource"/>

Tomcat共享线程池配置:

取消Executor注释,修改连接数至自己合适的数值既可。

  1. <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
  2. maxThreads="200" minSpareThreads="100" maxIdleTime="60000"/>

executor="tomcatThreadPool" 标明此连接使用上面配置的名称为tomcatThreadPool的连接池,无属性共享连接不会生效 protocol表示使用的是 http协议 端口号为8080

  1. <Connector port="8080" protocol="HTTP/1.1" redirectPort="8443"
  2. connectionTimeout="20000"
  3. executor="tomcatThreadPool"
  4. acceptCount="100"
  5. useBodyEncodingForURI="true"
  6. enableLookups="false"
  7. />

虚拟目录配置:

在<host></host>之间增加如下

<!-- 配置虚拟目录,例如:http://localhost:8080 -->

  1. <Context path="/" docBase="D:\workspace\code\HBJH\web"></Context>

附件中是取自springside3中,Tomcat production config配置示例,即生产环境下Tomcat配置

tomcat6.0目录和server.xml详解的更多相关文章

  1. tomcat conf目录下server.xml详解

    一.   一个server.xml配置实例 1 <Server port="8005" shutdown="SHUTDOWN"> 2 <Lis ...

  2. Tomcat配置(二):tomcat配置文件server.xml详解和部署简介

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  3. Tomcat(二):tomcat配置文件server.xml详解和部署简介

    Tomcat系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1. 入门示例:虚拟主机提供web服务 该示例通过设置虚拟主机来提供web服务 ...

  4. tomcat 配置文件server.xml 详解 Connector Engine Host Context

    目录 一 server.xml 1.1 server 配置 1.2 service 配置 1.3 Executor 1.4 Connector 配置 1.5 Engine 其他tocmat 文章 一 ...

  5. Tomcat server.xml详解

    Server.xml的结构大致 <Server port="8005" shutdown="SHUTDOWN"> <Service name= ...

  6. tomcat配置文件server.xml详解 转载http://blog.csdn.net/yuanxuegui2008/article/details/6056754

    元素名 属性 解释 server port 指定一个端口,这个端口负责监听关闭tomcat 的请求 shutdown 指定向端口发送的命令字符串 service name 指定service 的名字 ...

  7. Tomcat 配置文件server.xml详解

    前言 Tomcat隶属于Apache基金会,是开源的轻量级Web应用服务器,使用非常广泛.server.xml是Tomcat中最重要的配置文件,server.xml的每一个元素都对应了Tomcat中的 ...

  8. Mycat分布式数据库架构解决方案--Server.xml详解

    echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! 该文件 ...

  9. tomcat的Server.xml详解和Host的配置

    基于以下说法的领悟: 若只配appBase,不配Context 的docBase(appBase和docBase二选一就可以了),则appBase的每个文件夹里都代表一个应用,每个应用都必须放ROOT ...

随机推荐

  1. cookie 的Domain删除失败的问题

    最近接手一个老项目,项目中使用的是cookie来做的处理的,新增的时候cookie添加了域, 但是删除的时候没有添加域,导致删除cookie的时候一直失败!还有cookie的创建与删除,应该都必需经过 ...

  2. Asp.Net Mvc5新特性

    One ASP.NET:统一平台 BootStrap:免费Css响应式页面 路由标记属性:简单,控制器,操作,前缀,参数,URL ASP.NET WEB API 2:路由标记属性,Oauth2.0,O ...

  3. Android -------- 使手机状态栏背景颜色和activity的一致

    Activity类中: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInsta ...

  4. 怎么判断PC端浏览器内核

    browser = {             /**              * @property {boolean} ie 检测当前浏览器是否为IE              */       ...

  5. Windows单击右键没有共享选项怎么办

    文件共享是指在网络环境下文件.文件夹.某个硬盘分区使用时的一种设置属性,一般指多个用户可以同时打开或使用同一个文件或数据.但有时候也会遇到找不到共享选项的情况. Windows单击右键没有共享选项怎么 ...

  6. 【7】使用css/js/html模板来实现一个注册、登录和管理的功能

    分支:auth static添加文件 css文件夹: app.css    自定义css样式[*] bootstrap.min.cs    bootstrap样式 compomemts文件夹: 插件用 ...

  7. 网上查了点关于windows注册表的知识,发现基本名词没理解好,于是整理这篇笔记(可能个别地方不准确,先这么理解吧),有了这个理解,再去看网上的文章,就差不读了

    打开注册表编辑器,左边窗格中显示的是“注册表项”,右边窗格中显示的是“注册表项的项值” 子项:子项是相对父项而言的,在某一个项(父项)下面出现的项(子项) 值项:一个项可以有一个或多个项值,当前被使用 ...

  8. LoadRunner参数化功能详解

    更新方式: .      Each Occurrence 每次遇到参数就进行更新. 多次使用同一参数,而且没有什么关联,例如随机数. Each Iteration 每次迭代时发生更新. 如果参数出现几 ...

  9. js与objective-c的交互-备

    在写 JavaScript 的时候,可以使用一个叫做 window 的对象,像是我们想要从现在的网页跳到另外一个网页的时候,就会去修改 window.location.href 的位置:在我们的 Ob ...

  10. Keil C51处理可重入函数问题的探讨

    在程序设计中,变量具体可以分为四种类型:全局变量.静态全局变量.局部变量.静态局部变量.这几种变量类型对函数的可重入产生的重大的影响,因为不同的编译器采用不同的策略. 针对51的存储区有限,keil ...