您的位置:首页 > 运维架构 > Tomcat

tomcat6优化配置及默认引用不同版本JDK配置

2011-04-21 21:32 597 查看
转载自:http://jczghost.iteye.com/blog/812672

1 tomcat6.0是目前最流行的开源web服务器.所以下面介绍一下tomcat6.0简单的优化配制方案. 

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

<!--

Tomcat6  minSpareThreads,maxSpareThreads参数不再被支持 需要在 Executor 中配置

maxThreads="600"       ///最大线程数

minSpareThreads="100"///初始化时创建的线程数

maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

-->

<Connector executor="tomcatThreadPool"

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

maxThreads="600"

acceptCount="700"

connectionTimeout="20000"

redirectPort="8443"/>

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="100"/>


5 禁用DNS查询 enableLookups="false"

当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。

DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。

为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值

<Connector executor="tomcatThreadPool"

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

enableLookups="false"

maxThreads="600"

acceptCount="700"

connectionTimeout="20000"

redirectPort="8443"

/>

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="100"/>


6 设置容器处理代码,解决乱码问题

<Connector executor="tomcatThreadPool"

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

enableLookups="false"

maxThreads="600"

acceptCount="700"

connectionTimeout="20000"

redirectPort="8443"

URIEncoding="UTF-8"

useBodyEncodingForURI="true"

/>

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="100"/>


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.test.com" appBase="D:/Myweb" unpackWARs="true" autoDeploy="true"> 

<Context path="" docBase="D:/Myweb/testweb"/> 

</Host>

10 windows本地域名配置

C:/WINDOWS/system32/drivers/etc/hosts

实战过的

<!--

   port:Tomcat服务器监听的端口号

   maxHttpHeaderSize:Http的Header的最大限制

   enableLookups="false" 使用允许DNS查询,通常情况下设置为false

   redirectPort 服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号

   maxThreads Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。

   acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。

   connectionTimeout 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

   minSpareThreads Tomcat初始化时创建的线程数。

   maxSpareThreads 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

   compression="on" 打开压缩功能

   compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB

   compressableMimeType压缩类型

-->

     <Connector port="4955" maxHttpHeaderSize="8192" useBodyEncodingForURI="true"  

                maxThreads="2048" minSpareThreads="100" maxSpareThreads="200"  

                enableLookups="false" redirectPort="8443" acceptCount="500"  

                compression="on" compressionMinSize="2048"

                compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  

                connectionTimeout="10000" disableUploadTimeout="true" URIEncoding="UTF-8"/>

  

     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
10、
在linux中,可以指定tomcat所用JDK版本
需要修改{tomcat_home}/bin/catalina.sh以及setclasspath.sh
在文件的最上面加入
JAVA_HOME=/usr/java/jdk1.6.0_24/[此处为所用到JDK版本的路径]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息