`
CHEEN
  • 浏览: 135763 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

TOMCAT配置

 
阅读更多
默认参数不适合生产环境使用,因此需要修改一些参数



1、修改启动时内存参数、并指定JVM时区(在windows server 2008 下时间少了8个小时):



在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:



window下, 在catalina.bat最前面:
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m
一定加在catalina.bat最前面。



linux下,在catalina.sh最前面增加:

JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -Duser.timezone=Asia/Shanghai"



注意:前后二者区别,有无set,有无双引号。





2、线程池配置(Tomcat6下)

使用线程池,用较少的线程处理较多的访问,可以提高tomcat处理请求的能力。使用方式:

首先。打开/conf/server.xml,增加

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />

最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60秒。

然后,修改<Connector ...>节点,增加executor属性,如:

<Connector executor="tomcatThreadPool"
               port="80" protocol="HTTP/1.1"
               connectionTimeout="60000"
               keepAliveTimeout="15000"
               maxKeepAliveRequests="1"
               redirectPort="443"
               ....../>



注意:可以多个connector公用1个线程池。



3、调整连接相关Connector的参数:

<Connector executor="tomcatThreadPool"
               port="80" protocol="HTTP/1.1"
               connectionTimeout="60000"
               keepAliveTimeout="15000"
               maxKeepAliveRequests="1"
               redirectPort="443"
               maxHttpHeaderSize="8192" URIEncoding="UTF-8" enableLookups="false" acceptCount="100" disableUploadTimeout="true"/>



参数说明:

connectionTimeout - 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
keepAliveTimeout - 长连接最大保持时间(毫秒)。此处为15秒。
maxKeepAliveRequests - 最大长连接个数(1表示禁用,-1表示不限制个数,默认100个。一般设置在100~200之间) the maximum number of HTTP requests that can be held in the pipeline until the connection is closed by the server. Setting this attribute to 1 disables HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and pipelining. Setting this to -1 allows an unlimited number of pipelined or keep-alive HTTP requests. If not specified, this attribute is set to 100.
maxHttpHeaderSize - http请求头信息的最大程度,超过此长度的部分不予处理。一般8K。
URIEncoding - 指定Tomcat容器的URL编码格式。
acceptCount - 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,默认为10个。defines the maximum queue length for incoming connection requests when all possible request processing threads are in use. Any requests received when the queue is full are refused. The default value is 10.
disableUploadTimeout - 上传时是否使用超时机制
enableLookups - 是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
bufferSize - defines the size (in bytes) of the buffer to be provided for input streams created by this connector. By default, buffers of 2048 bytes are provided.
maxSpareThreads - 做多空闲连接数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程 the maximum number of unused request processing threads that are allowed to exist until the thread pool starts stopping the unnecessary threads. The default value is 50.
maxThreads - 最多同时处理的连接数,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。。 the maximum number of request processing threads to be created by this Connector, which therefore determines the maximum number of simultaneous requests that can be handled. If not specified, this attribute is set to 200.
minSpareThreads - 最小空闲线程数,Tomcat初始化时创建的线程数 the number of request processing threads that are created when this Connector is first started. The connector will also make sure it has the specified number of idle processing threads available. This attribute should be set to a value smaller than that set for maxThreads. The default value is 4.
minProcessors - 最小空闲连接线程数,用于提高系统处理性能,默认值为10。(用于Tomcat4中)
maxProcessors - 最大连接线程数,即:并发处理的最大请求数,默认值为75。(用于Tomcat4中)

备注:

Tomcat4中可以通过修改minProcessors和maxProcessors的值来控制线程数。

在Tomcat5+主要对以下参数调整
maxThreads
Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
acceptCount
指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
connnectionTimeout
网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
minSpareThreads
Tomcat初始化时创建的线程数。
maxSpareThreads
一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。 





4、负载均衡、集群的配置

Tomcat6支持分布式部署,可以实现集群功能,提高响应能力。



5、

利用JMX监控Tomcat运行情况,需要手工调整启动参数,如下:

打开cataline.bat,增加一行

set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=10090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%conflogging.properties"



linux下修改cataline.sh:
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=%CATALINA_BASEconflogging.properties"

注意JDKjrelibmanagementmanagement.properties文件必须存在。



重新启动tomcat节点,然后用jconsole连接(此处端口wei10090)



6、Tomcat增加一个应用

在server.xml的Host标签中增加行

<Context displayName="OA" docBase="/app/web-apps/GACWP" path="" />

path代表上下文名称,空表示是根路径。
分享到:
评论

相关推荐

    idea中Tomcat配置遇到的错误.docx

    在 IDEA 中创建 Maven 项目时,可能会遇到 Tomcat 配置错误的问题,本文将详细介绍 Tomcat 配置遇到的错误、错误原因、解决方案,并讨论 Maven 项目的创建、版本选择、Maven 的 Tomcat 配置等相关知识点。...

    解决tomcat配置ssl错误的解决办法

    解决 Tomcat 配置 SSL 错误的解决办法 在 Tomcat 服务器中配置 SSL 加密连接是非常重要的,然而在 Tomcat 6.0.33 版本中,默认启用了 APR(APR 是通过 JNI 访问的可移植库,可以提高 Tomcat 的性能和伸缩性),这...

    Tomcat配置HTTPS证书认证

    4. **修改Tomcat配置**: - 打开Tomcat的`conf/server.xml`配置文件。 - 在`&lt;Connector&gt;`标签中添加HTTPS配置,设置端口、Keystore文件路径、别名和密码等信息。 - 示例配置: ```xml SSLEnabled="true" ...

    使用Tomcat配置域名

    下面将详细解释如何使用Tomcat配置域名。 首先,我们需要理解域名配置的基本概念。域名是互联网上识别服务器的唯一标识,如www.example.com。在Tomcat中,通过Server.xml文件配置虚拟主机(Virtual Host),实现一...

    tomcat配置入门和配置多个项目

    ### Tomcat配置入门与配置多个项目详解 #### Tomcat简介 Tomcat是一个开源的轻量级Web应用服务器,因其小巧灵活、易于部署等特点被广泛应用于Java Web应用的开发与测试阶段。它支持Servlet和JSP等Java Web技术,...

    tomcat配置教程,数据源配置,基础教程,tomcat下conf文件夹配置教程

    本教程将深入探讨Tomcat的配置,特别是数据源配置以及基础的Tomcat配置,帮助你更好地理解和管理服务器环境。 一、Tomcat配置基础 1. **环境变量设置**:首先,确保你的系统中安装了Java,并设置了JAVA_HOME环境...

    一台服务器多个tomcat配置

    一台服务器多个 Tomcat 配置 在一台服务器上配置多个 Tomcat 服务器时,往往会碰到冲突。为了避免这些冲突,需要修改 Tomcat 配置文件。下面是详细的配置过程: 一、下载和解压 Tomcat 首先,需要下载 Tomcat 的...

    详解Tomcat配置及使用.docx

    Tomcat 配置及使用 Tomcat 是一个开源的 Java servlet 容器,提供了强大的 Web 服务器功能。在本文中,我们将详细介绍 Tomcat 的配置及使用,包括启动、关闭、配置端口、虚拟主机配置等。 一、启动和关闭 Tomcat ...

    tomcat配置只能域名访问禁止ip访问

    tomcat配置只能域名访问禁止ip访问 直接替换tomcat里面的server.xml 文件,但是里面的ip要更换你自己的ip

    Tomcat配置方法 Tomcat配置方法 Tomcat配置方法

    本文将深入探讨Tomcat的配置方法,帮助你更好地理解和管理你的Web应用。 首先,让我们从基础开始,了解Tomcat的目录结构。在解压Tomcat安装包后,你会看到几个主要的目录和文件: 1. **bin**:包含启动和停止...

    tomcat配置

    ### Tomcat配置详解 #### 一、概述 Tomcat是一款开源的Servlet容器,它能够作为Web服务器独立运行,也可以与Apache等其他Web服务器配合使用。本文将详细介绍如何配置Tomcat的相关环境变量及其路径设置,帮助读者更...

    Linux的Tomcat配置

    Linux下的Apache Tomcat配置是一个关键任务,特别是在搭建Java Web应用服务器时。Apache Tomcat是一款开源的Servlet容器,它实现了Java Servlet和JavaServer Pages (JSP) 规范,是部署Java应用程序的重要工具。以下...

    tomcat配置环境变量

    文件“tomcat如何配置环境变量.doc”应该包含了更详细的步骤和可能遇到的问题解决方案,建议初学者详细阅读并按照文档中的指导进行操作,以确保Tomcat配置的正确无误。在实际操作中,如果遇到问题,可以查阅官方文档...

    apache和tomcat配置总结

    以下是对Apache和Tomcat配置的详细总结: 1. **Apache与Tomcat集群的三种方式**: - **JK模垰**:通过mod_jk模块连接Apache和Tomcat,提供高效的数据传输和负载均衡。 - **HTTP代理**:Apache作为反向代理服务器...

    tomcat集群-Apache2.2.4+And+mod_jk.so+tomcat配置文件

    总结来说,"tomcat集群-Apache2.2.4+And+mod_jk.so+tomcat配置文件"的配置涉及到多个步骤,包括Apache和Tomcat的安装、mod_jk模块的集成、配置文件的修改以及负载均衡策略的设定。这个过程对于构建高可用、高性能的...

    Tomcat 配置项目发布

    【标题】:“Tomcat配置项目发布” 在Java Web开发中,Tomcat是一个广泛使用的开源应用服务器,主要用于运行Servlet和JSP应用。配置Tomcat来发布项目是开发者日常工作中不可或缺的一部分。下面将详细介绍如何配置...

    tomcat配置自身错误页面

    tomcat配置自身错误页面,直接替换tomcat本身的root文件夹即可。然后修改web.xml,具体方式详见:https://blog.csdn.net/f552126367/article/details/107999676

    tomcat配置文件详解

    资源名称:tomcat配置文件详解   资源截图: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    tomcat配置文件(win32+win64)

    在Windows环境下,无论是32位还是64位操作系统,都需要适配对应的Tomcat配置文件来确保其正常运行。 在配置Tomcat时,有几个关键的文件和目录需要注意: 1. **bin目录**:包含了启动和停止Tomcat的脚本,如`...

    tomcat配置虚拟路径

    tomcat虚拟路径配置,tomcat配置虚拟路径,简短代码,一目了然

Global site tag (gtag.js) - Google Analytics