tomcat配置文件之Server.xml
Server.xml包含的元素有<Server>、<Service>、<Connector>、<Engine>、<Host>、<Context>、<logger>、<Value>、<Realm>等,它们可分为四大类:
1、顶层类元素:有<Server>和<Service>。它位于整个配置文件的顶层。
2、连接器类元素:有<Connector>。客户和容器类元素的通讯接口。
3、容器类元素:有<Engine>、<Host>和<Context>。处理客户请求并且生成响应结果。
4、嵌套类元素:有<logger>、<Value>和<Realm>。可以加入到容器中的元素
配置文件结构为:
<server>
<service>
<connector/>
<connector/>
<engine>
<host>
<context/>
</host>
<host>
<context/>
<context/>
</host>
</engine>
</service>
<server>
<Server>元素
<Server>是Tomcat实例的顶层元素,由org.apache.catalina.Server接口定义,它可以包含一个或多个<Service>元素,并且不能做为任何元素的子元素。一个<Server>是一个提供完整JVM的独立组件,它可以代表整个容器,但它本身不是一个容器,不可以定义<value>或<loggers>之类的子组件。
属性说明:
|
属性 |
说明 |
|
port |
指定一个端口,这个端口负责监听关闭Tomcat的请求 |
|
shut down |
向以上端口发送的关闭服务器的命令字符串,通常为“SHUTDOWN” |
对于一个已经开启的tomcat服务器,可以在cmd下使用telnet localhost 8005命令进行连接,然后输入“SHUTDOWN” 命令就可以关闭服务器。
<Service>元素
Service是一个集合,它由一个或者多个Connector以及一个Engine组成,这个Engine负责处理所有Connector所获得的客户请求。每个Service元素只能有一个Engine元素。Service本身也不是容器。
属性说明:
|
属性 |
说明 |
|
name |
Service的名称 |
<Connector>元素
<Connector>是直接与用户交互的组件,负责接受用户请求和向客户返回响应结果。
属性说明:
|
属性 |
说明 |
|
port |
Connector所监听的端口。在浏览器中可以通过输入url:port的方式提交给对应的Connector。因为浏览器的默认端口是80,所以如果把Connector的port设成80的话,可以直接使用url进行访问,不用在后边再跟一个端口号。 |
|
protocol |
设定Http协议,默认是HTTP/1.1 |
|
minThreads |
服务器启动时创建的处理用户请求的线程数 |
|
maxThreads |
可以创建的最大的处理用户请求的线程数 |
|
minSpareThreads |
最小备用线程数 |
|
maxSpareThreads |
最大备用线程数 |
|
acceptCount |
当所有可以使用的处理请求的线程都被用光时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,而返回Connection refused错误。 |
|
redirectPort |
服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号。(即当请求是https时,将它转发到的端口) |
|
enableLookups |
如果为true,表示支持域名解析,则可以在web应用中通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名;若为false则不进行DNS 查询,而是返回其ip地址。默认值为true。 |
|
connectionTimeout |
等待超时的时间数(以毫秒为单位),如果为-1表示不限制客户连接的时间。 |
<Engine>元素
它处理在同一个<Service>中所有<Connector>元素接收到的客户请求。它匹配请求和自己的虚拟主机,并将请求发给对应的<Host>处理,默认的主机是localhost。
属性说明:
|
属性 |
说明 |
|
name |
engine的名称,对应目录 /conf /Catalina |
|
defaultHost |
默认的处理请求的虚拟主机,至少与下面一个Host的name属性一样。对应 /conf /Catalina /localhost |
|
Debug |
日志等级。 |
<Host>元素
一个<Engine>元素可以包含多个<Host>元素,每个<Host>的元素定义一个虚拟主机,它包含一个或多个web应用。
属性说明:
|
属性 |
说明 |
|
name |
虚拟主机名,对应目录 /conf /Catalina /localhost |
|
appBase |
指定虚拟主机的目录,默认为/webapps。它将请求url与该虚拟主机的context进行匹配,并把请求转给对应的context来处理。 |
|
Debug |
日志等级。 |
|
autoDeploy |
默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。 |
|
unpackWARs |
如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件。 |
<Context>元素
代表运行在虚拟主机上的单个web应用。一个<Host>可以包含多个<Context>元素。每个web应用有唯一个相对应的Context代表web应用自身。
属性说明:
|
属性 |
说明 |
|
path |
Web应用名,在使用url访问host下的web应用时,通过http://localhst/ website 的形式。其中localhost为上文所说的host的name,而website就是这里的path。 也就是说当一具请求到来时,engine先根据host name = localhost来确定所要求的主机,再根据context path = website确定用户所请求的web应用。 |
|
docBase |
Web应用的具体存放路径 |
|
Debug |
日志等级。 |
|
autoDeploy |
默认为true,表示如果有新的WEB应用放入appBase并且Tomcat在运行的情况下,自动载入应用。 |
|
unpackWARs |
如果设置为true,表示把war文件先展开再运行。如果为false则直接运行war文件。 |
tomcat配置文件之Server.xml的更多相关文章
- Tomcat配置文件之“server.xml”解析
<?xml version="1.0" encoding="UTF-8"?> <!--代表整个Servlet容器组件,是最顶层元素.它里面可以 ...
- tomcat中的server.xml文件配置了URIEncoding="UTF-8"需要注意的问题
1. get请求传递中文时本地连正式库访问都正常,正式环境下单独访问报错 代码: 请求:project/projectInfo/export/?cks=’项目类型 public String ...
- eclipse配置tomcat后修改server.xml文件(如编码等)无效问题
我们用eclipse配置好tomcat后,在处理中文乱码或是配置数据源时,我们要修改Tomcat下的server.xml等文件. 修改后重启Tomcat服务器时发现xml文件又被还原了. 因为Tomc ...
- Tomcat中的Server.xml配置详解
Tomcat中的Server.xml配置详解 Tomcat Server的结构图如下: 该文件描述了如何启动Tomcat Server <Server> <Listener /> ...
- Tomcat的目录结构、处理流程、主配置文件(server.xml)释义
参考资料: http://www.cnblogs.com/xdp-gacl/p/3744053.html http://grass51.blog.51cto.com/4356355/1123400 1 ...
- Tomcat下的Server.xml配置文件详解
自15年毕业到现在已经入行两年多了,一直以来没有深入的了解过tomcat的详细配置,只懂修改一下端口号.在网上找了些相关资料来支撑这篇文章,深入了解server.xml文件各配置的作用 <?xm ...
- tomcat启动了server.xml中没有配置的项目
在tomcat的conf目录下的server.xml文件中没有配置hczm_struts项目,但在eclipse启动tomcat调试时,一直启动hczm_struts项目. 经检查,发现conf\Ca ...
- Tomcat配置文件之servlet.xml中选项介绍
Servlet.xml 分为以下元素: server, service, Connector ( 表示客户端和service之间的连接), Engine ( 表示指定service 中的请求处理机,接 ...
- tomcat如何在server.xml中配置contexts
https://tomcat.apache.org/tomcat-8.5-doc/deployer-howto.html#A_word_on_Contexts 例如你的程序 名字是hello端口是80 ...
随机推荐
- 数据库SQL Server DAC 导入导出数据到SQL Azure问题
对Export data-tier application报错的处理 Error:SQL71564 这个问题是数据库中一些对象如MS_Description,MS_DiagramPane1不支持DAC ...
- Quartz.net的cron表达式
写在前面 前面有一篇文章用到了quartz.net,在设置定时时间的时候,使用了cron表达式,这里记录几种常见设置方式,方便对照使用. 详情 在这篇文章:Quartz.Net在windows服务中的 ...
- Javascript基础系列之(七)函数(定义和调运函数)
函数是一个可以随时运行的语句,简单说,函数是完成某个功能的一组语句,它接受0或者多个参数. 函数的基本语法如下 function functionName([arg0,arg1,......argN] ...
- 2016 版 Laravel 系列入门教程(五)【最适合中国人的 Laravel 教程】
本教程示例代码见: https://github.com/johnlui/Learn-Laravel-5 在任何地方卡住,最快的办法就是去看示例代码. 本文是本系列教程的完结篇,我们将一起给 Arti ...
- spring aop开发常见错误
1. Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreExcepti ...
- 设置java jvm(虚拟机) 的内存在大小
package WanWan; public class Test { /** * @param args */ public static void main(String[] args) { // ...
- 【Gym 100971A】Treasure Island
题意 题目链接给你一个地图,'#'代表水,'.'代表陆地,'?'代表擦去的地图,可能是'#'也可能是'.'.地图中本该只有一块相连的陆地,若只有一种方案则输出确定的地图.若有多种方案,则输出‘Ambi ...
- Bzoj2440 完全平方数
Time Limit: 10000MS Memory Limit: 131072KB 64bit IO Format: %lld & %llu Description 小 X 自幼就很 ...
- TYVJ P2002 扑克牌
背景 Admin生日那天,Rainbow来找Admin玩扑克牌……玩着玩着Rainbow觉得太没意思了,于是决定给Admin一个考验~~~ 描述 Rainbow把一副扑克牌(54张)随机洗开,倒扣着放 ...
- eclipse中使用git
有的eclipse已经自带了Git了,就不用安装了.如果,想重新安装,可以先卸载GIT,卸载 不同eclipse卸载不一样: 1.在Eclipse中依次点击菜单"Help"-> ...