一 server.xml
server.xml 是tomcat 的核心配置文件,位于./conf/ 下.具有server,connector
Hosts 等元素模块。接下来我们看看吧。(导游介绍词)。本文内容基于tomcat 8.5 不同版本配置或有差异性。
tomcat 8.5是基于Servlet 3.1和JavaServer Pages 2.3。
tomcat 测试war包下载路径 测试war包
server.xml 结构图(还有些其他元素没有加入)
1.1 server 配置
server 是server.xml 的最外层元素,常用的属性有:属性描述示例className要使用的java 类名
address服务器等待接收shutdown 命令的地址,默认localhost
port接收shutdown命令的端口,设置为-1 为禁用关闭端口,也就是你不能通过这种方式来关闭了,这样就会影响你使用脚本(catalina.sh 或者是shutdown.sh)来stop了,默认绑定8005端口port="8005"
shutdown指定shutdown 命令的别名,默认值SHUTDOWNshutdown="SHUTDOWN"
1.2 service 配置
service 是 server 的内层。可以将一个多个service 放在server 层里,
一个service 里面可以有多个 Connector 和一个Engine .
service 的属性属性描述className要使用的java类名,未指定的话就使用标准的实现
nameservice显示的名称
1.3 Executor
官方文档链接
这个元素我们在平时配置的过程中用得比较少,它主要用于在多个connector 之间进行共享线程池。它的位置应该在 connector 之前,这样才能生效。
Executor 的属性 :属性描述示例className要使用的java类名
name用于在server.xml中的其他位置引用此池的名称。该名称是必需的,必须是唯一的。
threadPriority执行程序中线程的优先级 ,默认为5
daemon线程是否为守护线程,默认为 True
namePrefix每个线程的名称的前缀,单个线程的名称=namePrefix+threadNumber
maxThreads该线程池中最大的线程数,默认为200
minSpareThreads最小线程数,就是在空闲时保持的最少线程数 ,默认为25
maxIdleTime空闲线程关闭之前等待的时间,单位毫秒,默认是6000毫秒也就是一分钟
maxQueueSize最大任务等待的数量,默认值是Integer.MAX_VALUE,也就是2147483647(java int整数的最大值)
prestartminSpareThreads是否应该在启动Executor时启动minSpareThreads,默认值为 false
1.4 Connector 配置
关于 Connector 官网链接
当前以下所有的说明是针对 tomcat 8.5版本来说的,其他版本详情见官方文档。参数含义示例port绑定的端口,如果设置为0,tomcat则随机获取一个空闲端口默认 port="8080"
protocol传输协议和版本默认 protocol = "HTTP/1.1"
connectionTimeout连接超时时间,单位毫秒默认 connectionTimeout="20000"
redirectPort接收到的ssl请求后重定向的端口默认 redirectPort="8443"
maxThreadstomcat能创建来处理请求的最大线程数,也为最大并发数 超过则放入请求队列中进行排队,默认值为200;需要根据业务和系统性能进行调整maxThreads="1000"
URIEncodingurl的字符编码,在tomcat8.5版本中,该值默认为UTF-8,除非在org.apache.catalina.STRICT_SERVLET_COMPLIANCE 将system property 设置为true才会使用ISO-8859-1URIEncoding="UTF-8"
minProcessors启动时创建的线程数(最小线程数)minProcessors="50"
acceptCount指定当所有可以使用的处理请求的线程数都被使用时,可以放到队列中的请求数,就是被排队的请求数,超过这个数的请求将拒绝连接 默认值为100acceptcount="500"
acceptorThreadCount可以用于接受连接的进程数,默认为1&