Tomcat 配置介绍

参数说明:

maxThreads:         最大可以创建请求的线程数  
minSpareThreads:    服务启动时创建的处理请求的进程数  
Connector中的port:  创建服务器端的端口号,此端口监听用户端的请求  
enableLookups:      如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址  
redirectPort:       指定服务器正在处理http请求时收到一个SSL传输请求后重定向的端口号  
acceptCount:        指定当处理请求线程都被使用时,可以放入处理队列的数目,超出将不进行处理  
acceptorThreadCount: 用于接收连接的线程的数量,默认值是1。一般这个指需要改动的时候是因为该服务器是一个多核CPU,如果是多核 CPU 一般配置为 2.
connectionTimeout:  指定超时的时间数(毫秒)
keepAliveTimeout:   在关闭连接之前,此连接器将等待另一个AJP(Apache和tomcat集成)请求的毫秒数。默认值是使用为connectionTimeout属性设置的值。
maxKeepAliveRequests: 在服务器关闭连接之前可以管道传输的HTTP请求的最大数量。 将此属性设置为1将禁用HTTP/1.0 keep-alive 以及HTTP/1.1 keep-alive和 流水线。 将此设置为-1将允许无限数量的流水线或保持活动的HTTP请求。 如果未指定,则此属性设置为100。
Context:            一个web应用程序通常为war文件,关于war的具体信息见servlet规范,
docBase:            应用程序的路径或者war文件的存放路径,
path:               表示此web程序的url前缀,
reloadable:         如果为true,Tomcat会自动检测应用程序的变化,自动装载新的应用程序,那么改变代码将不用再次重新启动tomcat
crosscontext:       如果为"true"表示配置的不同context共享一个session

模版

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
    <Executor name="tomcatThreadPool"
              namePrefix="catalina-exec-"
              maxThreads="500"
              minSpareThreads="50"/>

    <Connector executor="tomcatThreadPool"
               port="8080"
               protocol="org.apache.coyote.http11.Http11AprProtocol"
               acceptCount="200"
               acceptorThreadCount="10"
               enableLookups="false"
               connectionTimeout="2000"
               keepAliveTimeout="300000"
               maxKeepAliveRequests="512"
               redirectPort="8443" />

    <Engine name="Catalina" defaultHost="www.klvchen.com">

      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="www.klvchen.com" appBase="webapps" unpackWARs="true" autoDeploy="false">
        <Context path="" reloadable="true" docBase="/data/prod-01"/>
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>

    </Engine>
  </Service>
</Server>

官方参考文档

https://tomcat.apache.org/tomcat-8.5-doc/config/ajp.html
https://tomcat.apache.org/tomcat-8.5-doc/config/http.html
原文地址:https://www.cnblogs.com/klvchen/p/11819092.html