pandonix 发表于 2013-1-29 23:34:54

Tomcat中的重要配置

由于不是从事WEB开发,所以一直以来对Tomcat都没有深入研究,只了解如何修改端口、部署应用等简单操作。最近公司服务器发生了一些异常现象,需要分析Tomcat的连接日志,故借此深入了解Tomcat的重要配置。
注:Tomcat版本为5.5.20
 
1、JVM堆栈调整
    众所周知,普通Java应用,配置启动参数 -Xms -Xmx即可。Tomcat中大同小异,修改%TOMCAT_HOME%\bin目录下的catalina.bat脚本中的JAVA_OPTS变量。
     JAVA_OPTS中的初始配置如下:
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.log
 
 
 
    如果需要配置-Xms256m -Xmx768m(初始化内存大小为256m,可以使用的最大内存为768m),则配置如下:
set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx768m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
 
 
 
 
2、Http Connector
     在Apache Tomcat的Doc中,对该项配置作了详细的说明。默认配置如下:
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
 
 
 

[*]     port:Tomcat服务器监听的端口号
[*]     maxHttpHeaderSize:Http的Header的最大限制
[*]     maxThreads:Tomcat可创建的最大的线程数
[*]     minSpareThreads:初始化创建的线程数
[*]     maxSpareThreads:一旦创建的线程超过这个数,Tomcat就将关闭不再需要的Socket线程
[*]     enableLookups:使用允许DNS查询,通常情况下设置为false
[*]     acceptCount:当所有可以使用的处理请求的线程树都被使用时,可以放到请求队列中的请求数,超过这个数的请求将不予处理。其实,该属性与ServerSocket(int port,int backlog)中的backlog参数意义相同,具体可参考ServerSocket的JDK API
[*]     connectionTimeout:网络连接超时,单位毫秒。设置为0表示永不超时 
      除此之外,还有很多有用的属性,例如:maxPostSize,maxSavePostSize,maxKeepAliveRequests等,具体用法可以参考Tomcat的Doc
 
3、Access Log Valve设置
   该Valve用于记录每次Tomcat服务器的连接,默认情况下该选项是关闭的。同时,该日志可用于其它分析工具进行日志分析和统计。配置如下:
   <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>

[*]  directory:该日志存放的目录
[*]  prefix:该日志文件的名称
[*]  suffix:该日志文件的后缀名
[*]  pattern:日志显示的格式,通常情况下用common或combined。具体格式相关字段的意义可以参考Tomcat Doc
4、Remote Address Filter
   IP过滤功能,对于服务器的安全配置非常有用。可以用于过滤来自请求的主机或IP,并允许拒绝那些主机或IP。

     配置如下:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow=" 127.0.0.1" deny=""/>
 
 
 
页: [1]
查看完整版本: Tomcat中的重要配置