<server> 详解
<server> 是tomcat实例的顶层元素,由org.apache.catalina.Server接口定义,它可包含一个或多个<service>元素,且不能做为任何元素的子元素。一个<server>是一个提供完整JVM的独立组件,它可以代表整个容器,但它本身不是一个容器。
其拥有的属性说明:
1> className指定实现org.apache.catalina.Server接口的类.默认值为 org.apache.catalina.core.StandardServer
2> port : 指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出 shutdown命令.该属性是必须项.
3> shutdown : 指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串.该属性必须项
4> debug : 调试信息,数字就是调试信息的级别,可选项。debug=0 表示尽可能少的调试信息。
测试:
telnet localhost 8005
输入:SHUTDOWN
结果:关闭tomcat服务
<service> 详解
<service> 是一个集合,该元素由org.apache.catalina.Service接口定义,它包含一个或多个<connector>以及一个<engine>,这个<engine>负责处理所有<connector>所获得的客户要求,也就是说所有的<connector>元素共享用同一个<engine>元素。每个<service>元素只能有一个<engine>元素。<service>本身也不是容器。
其拥有的属性说明:
第一个<Service>处理所有直接由Tomcat服务器接收的web客户请求.
第二个<Service>处理所有由Apahce服务器转发过来的Web客户请求
1> className 指定实现org.apahce.catalina.Service接口的类.默认为 org.apahce.catalina.core.StandardService
2> name : 定义Service的名字
<connector> 详解
<connector>由Connector接口定义,是直接与用户交互的组件,负责接受用户请求和向客户返回响应结果。
其拥有的属性说明:
第一个<connector>元素定义了一个HTTP Connector,它通过80端口接收HTTP请求;
第二个<connector>元素定义了一个JD Connector,它通过8009端口接收由其它服务器转发过来的请求。
1> className指定实现Connector接口的类
2> port : 创建服务器端的端口号,此端口监听用户端的请求。在浏览器中可以通过输入url:port的方式提交给对应的<connector>。
3> protocol : 设定Http协议,默认:HTTP/1.1
4> minThreads : 服务器启动时创建的处理用户请求的线程数
5> maxThreads : 设定在监听端口的线程的最大数目,此值也决定了服务器可以同时响应客户请求的最大数目。默认:200
6> minSpareThreads : 服务启动时创建的处理请求的进程数
7> maxSpareThreads : 最大备用线程数
8> acceptCount : 设定在监听端口队列的最大客户请求数量。默认:10,若队列已满,客户必须等待,且返回connection refused 错误。
9> redirectPort : 服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号。(即当请求是https时,将它临危不挠发到的端口)
10> enableLookups : 若为ture,表示支持域名解析,则可在web应用中通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名;若为false,则不进行DNS查询,而返回其IP地址。默认:true。
11> conncetionTimeout : 等待超时的时间数(单位:毫秒),若为 -1 表示不限制客户连接的时间。
其它属性:
1> address : 若服务器有二个以上ip地址,此属性可设定端口监听的ip地址。默认情况下,端口会监听服务器上所有的ip地址。
2> bufferSize : 设定由端口创建的输入流的缓存大小,默认值:2048byte
<engine> 详解
其拥有的属性说明:
它处理在同一个<service>中所有的<connector>元素接收到的客户请求。它匹配请求和自已的虚拟主机,并将请求发给对就的<host>处理,默认主机:localhost
1> className指定实现Engine接口的类,默认值为StandardEngine
2> name : engine的名称,对应目录/conf/Catalina
3> defaultHost : 默认的处理请求的虚拟主机,至少与下面一个<host>的name属性一样。对应/conf/Catalina/localhost
4> debug : 日志等级