`

tomcat-常见实用配置

阅读更多
tomcat-常见实用配置 
做jsp时,关于tomcat服务器优化,常遇到的一些简单问题的解决方法: 

1.如何禁止访问目录列表: 

修改tomcat x.x/conf/web.xml内的一个属性值,就是把true 改为 false 

在web.xml里找到以下代码 

<servlet> <servlet-name>default</servlet-name> <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> 

 
把其中的

<init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> 

 
改为

<init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> 

 
2.如果某文件资源没有找到,服务器要报404错误, 

如果执行的某个JSP文件产生 NullPointException 

会显示一些不想异常提示代码, 

为了让用户看到更更友好的页面 

可在自己的虚拟目录的WEB-INF/web.xml中作如下的设置

<error-page> <error-code>404</error-code> <location>/notFileFound.jsp</location> </error-page> <error-page> <exception-type>java.lang.NullPointerException</exception-type> <location>/null.jsp</location> </error-page> 

 
 同理,你也可以设置抛出其它异常时应该显示的页面! 

另外在jsp页面最上方加上这样一句话, 

<%@ page isErrorPage="true" errorPage="error.jsp"%> 

也可以捕捉NullPointerException这种异常,此时转向error.jsp 

3.设置session的超时时间 (单位:分钟)

<session-config> <session-timeout>30</session-timeout> </session-config> 

 
4.设置默认欢迎页面(当不输入文件名,只输入目录时起作用)

<welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list> 

 
------------------------ 

配置好的web.xml文件如下: 

------------------------

<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <display-name>Tomcat Examples</display-name> <description> Tomcat Example servlets and JSP pages. </description> <!-- 会话超时的设置 设置session 的过期时间,单位是分钟; --> <session-config> <session-timeout>10</session-timeout> </session-config> <!-- --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list> <error-page> <error-code>404</error-code> <location>/notFileFound.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/common/500.jsp</location> </error-page> <!-- 可以对特定的Exception 捕获 --> <error-page> <exception-type>java.lang.NullPointerException</exception-type> <location>/null.jsp</location> </error-page> <!-- 如果某文件资源没有找到,服务器要报404错误,按上述配置则会调用notFileFound.jsp。 如果执行的某个JSP文件产生NullPointException ,则会调用null.jsp --> <!-- 下面的写法是错误的,少一个 / <error-page> <error-code>404</error-code> <location>filenotfound.jsp</location> </error-page> --> </web-app> 

 ----------------------------------------------------- 

四. 自身调整 

  本节将向您详细介绍一些加速可使Tomcat实例加速运行的技巧和方法,无论是在什么操作系统或者何种Java虚拟机上。在有些情况下,您可能没有控制部署环境上的操作系统或者Java虚拟机。在这种情况下,您就需要逐行了解以下的的一些建议,然而你应该在修改后使之生效。我认为以下方法是Tomcat性能自身调整的最佳方式。 

  1.禁用DNS查询 

  当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值: 

Tomcat4 

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="80" minProcessors="5" maxProcessors="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" useURIValidationHack="false" disableUploadTimeout="true" /> 

Tomcat5 

<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true"/> 

  除非你需要连接到站点的每个HTTP客户端的机器名,否则我们建议在生产环境上关闭DNS查询功能。可以通过Tomcat以外的方式来获取机器名。这样不仅节省了网络带宽、查询时间和内存,而且更小的流量会使日志数据也会变得更少,显而易见也节省了硬盘空间。对流量较小的站点来说禁用DNS查询可能没有大流量站点的效果明显,但是此举仍不失为一良策。谁又见到一个低流量的网站一夜之间就流量大增呢? 

  2.调整线程数 

  另外一个可通过应用程序的连接器(Connector)进行性能控制的的参数是创建的处理请求的线程数。Tomcat使用线程池加速响应速度来处理请求。在Java中线程是程序运行时的路径,是在一个程序中与其它控制线程无关的、能够独立运行的代码段。它们共享相同的地址空间。多线程帮助程序员写出CPU最大利用率的高效程序,使空闲时间保持最低,从而接受更多的请求。 

  Tomcat4中可以通过修改minProcessors和maxProcessors的值来控制线程数。这些值在安装后就已经设定为默认值并且是足够使用的,但是随着站点的扩容而改大这些值。minProcessors服务器启动时创建的处理请求的线程数应该足够处理一个小量的负载。也就是说,如果一天内每秒仅发生5次单击事件,并且每个请求任务处理需要1秒钟,那么预先设置线程数为5就足够了。但在你的站点访问量较大时就需要设置更大的线程数,指定为参数maxProcessors的值。maxProcessors的值也是有上限的,应防止流量不可控制(或者恶意的服务攻击),从而导致超出了虚拟机使用内存的大小。如果要加大并发连接数,应同时加大这两个参数。web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。 

在Tomcat5对这些参数进行了调整,请看下表: 

属性名                            描述 

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

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

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

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

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


 

 

分享到:
评论

相关推荐

    apache-tomcat-5.5.23.tar.gz

    这个"apache-tomcat-5.5.23.tar.gz"文件是Apache Tomcat的5.5.23版本的归档包,采用的是tar.gz格式,这是一种在Linux/Unix系统中常见的文件压缩方式,它将多个文件打包成一个单一的tar文件,然后用gzip工具进行压缩...

    apache-tomcat-5.5.26.rar

    这个绿色版的Apache Tomcat 5.5.26对于开发者来说是一个非常实用的工具,特别是在进行本地开发或者需要快速搭建测试环境时。同时,配合《深入剖析Tomcat》这样的专业书籍,可以帮助用户更深入地理解和优化Tomcat的...

    apache-tomcat-7.0.39.tar

    总结来说,`apache-tomcat-7.0.39.tar`是一个实用的Tomcat版本,提供了Java Web应用程序的部署和运行平台。了解其安装、配置、管理和优化,对于任何Java开发者或系统管理员都是至关重要的技能。

    tomcatPluginV33.zipapache-tomcat-7.0.50-windows-x64

    【标题】...总之,这个压缩包提供了一套完整的Tomcat 7安装解决方案,包括核心服务器、插件和详细的安装指南,对于需要在Windows环境中部署Java Web应用的开发者和系统管理员来说,是一份非常实用的资源。

    [原创]xampp-tomcat- connector---- xampp 完美整合现有的tomcat [续]

    "工具"标签可能是指博客中介绍了一些实用工具或步骤,比如使用Apache的mod_proxy模块或者mod_jk模块来作为连接器,或者使用管理工具如Apache Tomcat Manager或VisualVM来监控和管理Tomcat服务器。 在文件名称列表中...

    apache-tomcat-11.0.0-M4.zip

    在Windows系统上部署和运行Web应用程序,Apache Tomcat是一个常见的选择,因为它轻量级、高效且易于配置。 首先,让我们了解一下Apache Tomcat的基本结构。解压这个压缩包后,你会看到以下几个关键目录和文件: 1....

    apache-tomcat-7.0.40-windows-x64

    解决这个问题的常见方法是修改Tomcat的配置文件`server.xml`。在这个文件中,你可以找到`&lt;Connector&gt;`元素,这是Tomcat处理HTTP请求的核心组件。在`&lt;Connector&gt;`元素内添加`URIEncoding="UTF-8"`属性,可以确保...

    tomcat-webapps.rar

    描述中提到的问题是常见的:在删除Tomcat中的工程时,如果不小心移除了webapps目录下的特定应用或文件,可能导致通过localhost:8080访问的本地页面无法打开。这是因为Tomcat默认的一些服务和管理界面位于这个目录下...

    tomcat-kb.zip

    总的来说,"tomcat-kb.zip"这个压缩包提供了关于Tomcat和Nginx配置的实用信息,对于运维人员来说是一份宝贵的参考资料。通过深入理解和应用这些配置,可以有效管理和优化基于Tomcat的Web服务,并利用Nginx实现更高效...

    Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议.zip

    ├─2.03 Nginx进阶基础-常见配置-反向代理.mp4 ├─2.04 Nginx进阶基础-upstream.mp4 ├─2.05 Nginx进阶基础-常用配置-会话保持.mp4 ├─2.06 Nginx进阶基础常见配置-动静分离.mp4 ├─2.07 Nginx进阶常见配置-...

    tomcat8(linux)

    **标题:“Linux环境下的Tomcat8安装与配置详解”** 在服务器管理中,Apache Tomcat8是一款广泛应用的开源Java Servlet容器,尤其...同时,推荐查阅提供的博客或其他官方文档,获取更多实用信息和解决常见问题的方法。

    Windows 10系统上安装和配置Tomcat的步骤

    本文将详细介绍如何在Windows 10上安装和配置Apache Tomcat服务器,帮助您顺利完成配置,并解决可能遇到的一些常见问题。 #### 二、安装准备 在开始安装之前,确保您的计算机满足以下条件: 1. **操作系统**:...

    linux下安装tomcat7

    本文将详细介绍如何在Linux系统上安装配置Apache Tomcat 7,并提供一些实用的操作技巧。 #### 二、安装准备 在开始安装之前,请确保您的Linux系统已安装JDK。因为Tomcat依赖于JDK环境,如果没有安装JDK,则需要先...

    centos7安装Tomcat7.txt

    ### CentOS 7 安装 Tomcat 7 的详细步骤及注意事项 #### 一、环境准备与下载 在开始安装之前,确保已经安装了 ...通过以上步骤,可以在 CentOS 7 系统上成功安装并配置 Tomcat 7 服务器。希望这些信息对您有所帮助!

    tomcat7.0.63免安装版(已配置跨域)

    "javaweb开发的好多朋友都需要"暗示这个版本的Tomcat对于JavaWeb开发者来说非常实用,特别是因为它已经"已经配置好跨域",这意味着开发者可以避免在处理跨域请求时遇到常见的限制,这对于进行前端与后端交互或者需要...

    apache-tomcat配置指南[归纳].pdf

    详细配置附录中,列出了不同类型的worker配置示例、workers.properties文件的详细结构,以及Tomcat的server.xml和cluster中的属性节点配置,这些都是实际操作中非常实用的参考资料。 总体来说,Apache Tomcat配置...

    tomcat安装及配置教程.zip

    1. `tomcat安装及配置教程.pdf`:详细阐述了上述的安装和配置过程,包括每一步的操作方法和可能遇到的问题,对于初学者来说是一份非常实用的指南。 2. `资源说明.pdf`:这份文档可能会包含一些额外的信息,比如对...

    TOMCAT 5.0.28的下载地址

    综上所述,TOMCAT 5.0.28作为一款经典的Servlet容器,虽然发布时间较早,但在特定场景下仍然具有很高的实用价值。对于那些对兼容性和稳定性有较高要求的老项目而言,选择TOMCAT 5.0.28不失为一种明智之举。通过本文...

    Tomcat 8 免安装

    10. **故障排除**:常见的问题可能包括端口冲突、内存不足、配置错误等,解决这些问题通常需要查看日志、检查配置和系统资源。 以上就是关于"Tomcat 8 免安装"的一些关键知识点,它为Java Web开发提供了一个高效且...

    Tomcat源码研究.pdf

    #### 1.2 Tomcat启动遇到的常见问题 - **内存溢出**:Tomcat启动时可能出现内存溢出错误,这通常是因为分配给Tomcat的堆空间不足所致。可以通过调整`catalina.bat`中的`JAVA_OPTS`来增加最大堆空间,例如:`set ...

Global site tag (gtag.js) - Google Analytics