Tomcat 站点配置

bin目录下

1、catalina   tomcat 主脚本、执行Java命令调用tomcat的启动与停止

2、cpappend   用于windows系统内部,将项目路径追加至tomcat的classpath 环境变量中

3、digest 生成tomcat密码的加密摘要

4、service 该脚本以windows方式安装卸载tomcat

5、setclasspath  唯一用于系统内部,以设定tomcat 的classpath及许多其他环境变量的脚本

6、tool-wrapper 用于digest脚本系统内部 封装可用于设置环境变量的脚本;

7、version  这是运行catclina 的版本 会输出tomcat的版本信息;


netstat -an |grep 8080


不同的tomcat实例(JVM) 必须使用不同的http端口 ;以及server Connector元素中的每个端口号也必须不同;




为防止失控的程序损害操作系统;Java运行时具备"最大堆栈大小"的限制;

可以在环境变量 JAVA_OPTS 中进行设置;

【 server.xml 】

tomcat 主配置文件

1、修改 tomcat 字符集(中文乱码)


  <Service name="Catalina">

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-

"maxThreads="150" minSpareThreads="4"/>

<Connector port="80" protocol="HTTP/1.1"   

              maxThreads="150" connectionTimeout="20000"   

              redirectPort="8443" />   

<Connector port="80" protocol="HTTP/1.1"

             maxThreads="150" connectionTimeout="20000"

             redirectPort="8443" />

 

Executor 配置为一个service的所有connector(web服务)配置一个共享线程池;减少硬件资源,所有的connector共用一个程序池;

 

classname -- Executor实现的完全限定的Java类名;


daemon 决定Executor的线程对否为后台线程;


name 共享线程名称


nameprefix 每个运行的都有一个字符串


maxidletime 在tomcat关闭一个线程之前 允许空闲线程持续的时间  6000;


maxThreads 该线程池可以容纳的最大线程数    200;


minSpareThreads tomcat应该始终打开的最小不活跃线程   25;


threadpriority 整数值,线程池中所有线程的线程优先权;  3;



【connector】常见属性  

connectionTimeout 从接受客户端请求TCPsocker的时刻开始 到请求方发现被发送到tomcat为止;connector可以等待的时间;

acceptCount   列队中可以等待最大连接数; 10;

bufferSize 默认情况下tomcat缓存了请求输入流;缓存的最大的内存 buffsize*maxthreads  2048;

connectionUploadTimeout tomcat请求的内容是一个长期运行的servlet;例如上传校验文件;需要一个延长时间 30000;

keystoreType   keystone文件格式;可以是tomcat的JVM支持的任何格式;

maxHttpHeaderSize tomcat可以传输接受的http请求或相应标题的最大长度;字节为单位; 8192

maxKeepAliveRequests 每个客户端到tomcat 的http keep-alive链接能完成的最大请求数;   100;

maxPostSize post 请求参数的最大值; 2MB;

maxSavePostSize POST 请求参数的最大值;在认证过程中有容器保存;  4096 ;

maxSpareThreads 该Connector 应保持active实际却处于idle状态的请求处理书最大线程

maxThreads 该Connector应并发运行的请求处理线程的最大数   200 ;

设置太高 则服务器将无法阻挡线程调度且需要太长的时间才能完成请求;

设置太小 则tomcat不能充分利用服务器的硬件资源;

minSpareThreads 只要活跃线程没有超过maxThreads的设置值 4;

protocl 使用的协议 HTTP/1.1  或者AJP/1.3   ;

redirectPort 如果该Connector是针对普通的http(非~SSL)

并为匹配的安全约束要求的SSL传输接收了一个请求;

则tomcat将给指定的端口号执行重定向。 443;

tcpNoDelay 决定tomcat是否为这一Connector的socker连接使用TCP Nagle算法;

设置为true 表示关闭Nagle算法;

通常关闭改进WEB服务器的性能;

truststoreFile 设置线程的优先等级;设置处理请求的先后顺序;

tomcat中线程的默认优先权和Javathread默认优先权相同;



【Engine】 属性

Engine元素代表从其Service元素中的一个connector接受请求,将其交付处理;并将结果返回给Connector



【Host】



【Context】

context代表tomcat实例中WEB应用程序,网站至少是由一个Context构成的;

cacheMaxSize 该Context的最大静态资源缓存值了   10240 KB

cahceTTL 缓存刷新之间的活跃值;   5000 ms 

caseSensitive 为Context核实是否是启用或禁用URL区分;



web.xml

servlet 与其他适用于整个web应用程序设置的配置文件

tomcat-users.xml

tomcat的UserDataRealm 用于认证的默认的角色 用户以及密码清单

catalina.policy

tomcat的Java安全防护策略文件

context.xml

默认的context设置 应用于安装了tomcat的所有主机的所有部署内容;