1 必须要配置环境变量 才可以使用 Apache Portable Runtime 技术
http://tomcat.apache.org/download-native.cgi
如果使用的是解压方式的tomcat
则需要自己将tcnative-1.dll拷贝到 %TOMCAT_HOME%\bin 目录下
同时设置环境变量
TOMCAT_HOME C:\tomcat6.0
CATALINA_HOME C:\tomcat6.0
CATALINA_BASE C:\tomcat6.0
PATH %TOMCAT_HOME%\bin
CLASSPATH %CATALINA_HOME%\common\lib\servlet.jar
2 为了提高安全性,一般情况下屏蔽 AJP
注释或者删除server.xml中的 Connector节点
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
3 内存设置
Windows环境下修改“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头增加如下设置:set JAVA_OPTS=-Xms256m -Xmx512m
Linux环境下修改“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头增加如下设置:JAVA_OPTS='-Xms256m -Xmx512m'
4 HTTP优化配置 server.xml
仔细看server.xml.其实里面都有,只是默认给注释掉了,下面是参数说明
name
这个是线程池的名字,必须唯一,后面会用到
namePrefix
线程的名字前缀,用来标记线程名字的,
maxThreads
允许的最大线程池里的线程数量,默认是200,一般设置高一些,限制并不占用资源
minSpareThreads
最小的保持活跃的线程数量,默认是25
maxIdleTime
超过最小活跃线程数量的线程,如果空闲时间超过这个设置后,会被关别。默认是1分钟(60000毫秒)。
threadPriority
线程的等级。默认是Thread.NORM_PRIORITY
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="5000" minSpareThreads="500"/>
<Connector executor="tomcatThreadPool"
port="88" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
5 禁用DNS查询 enableLookups="false"
当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。
DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。
为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="5000" minSpareThreads="500"/>
<Connector executor="tomcatThreadPool"
port="88" protocol="HTTP/1.1"
connectionTimeout="20000"
enableLookups="false"
redirectPort="8443" />
6 设置容器处理代码,解决乱码问题
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="5000" minSpareThreads="500"/>
<Connector executor="tomcatThreadPool"
port="88" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
useBodyEncodingForURI="true"
enableLookups="false"
redirectPort="8443" />
7 自动加载 修改conf/context.xml
<Context reloadable="true">
8 Tomcat配置服务器
<Context path="/text" docBase="f:\text\11" debug="0" reloadable="true"/>
9 自定义部署目录,在Engine节点添加
<Host name="www.huadepengye.com" appBase="D:\Myweb" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="D:\Myweb\HDPYWeb"/>
</Host>