当前位置:   article > 正文

Tomcat -- server.xml

Tomcat -- server.xml

Tomcat 部署项目 server.xml 配置

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <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="myThreadPool" 
        namePrefix="catalina-exec-"
        maxThreads="200"
        minSpareThreads="10"/>

    <!--连接池-->
	<Connector port="9999"
		protocol="HTTP/1.1"
        acceptCount="200"
	    connectionTimeout="20000"
        executor = "myThreadPool"
	    disableUploadTimeout="true"
	    redirectPort="8443"/>
      
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
    
  <Context path="/expert" docBase="expert" debug="0" reloadable="false"></Context>
</Server>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
tomcat使用Acceptor线程专门负责从Accept队列中取出connection,接受该connection,然后交给工作线程去处理(读取请求参数、处理逻辑、返回响应等等);
如果该连接不是keep alived的话,则关闭该连接,然后该工作线程释放回线程池,
如果是keep alived的话,则等待下一个数据包的到来直到keepAliveTimeout,然后关闭该连接释放回线程池;
然后Acceptor线程接着去accept队列取connection;

1. Tomcat能处理的最大请求数由maxConnections和acceptCount决定;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
Executor
###线程池,这些属性也可直接配置到连接池(Connector), 优先使用Executor;
# 连接器同一个时刻最大的工作线程数,可以处理的最大并发请求数(tomcat真正并发数)
# maxThreads数量应该远大于CPU核心数量(不宜过大,否则cpu切换线程时间偏大);
# 线程数的经验值为:1核2g -- 200;4核8g —— 800。
maxThreads="200"
# 最小空闲线程数,预先创建,默认10;
# maxThreads/10 左右;
minSpareThreads="10"
#maxSpareThreads="50"

# 早期的tomcat 5.0之前的配置
# minProcessors="5"
# maxProcessors="300"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
Connector
# http端口,默认8080
port="8080"
# 使用何种方式来接受和处理client端请求, def "HTTP/1.1", ["AJP/1.3"]
protocol="HTTP/1.1"

###连接池
# 已建立的可处理连接队列数,可无空闲处理线程时,请求队列(排队)最大长度,超出请求会被拒绝处理,默认100;
# 当前同时连接数超过maxConnections的时候,还可接受的连接数;
# 一般是设置跟 max-threads 一样大;
acceptCount="200"
# http连接超时,当client与tomcat建立连接,"cto"时间后,仍然没有得到client的请求数据,此时连接将会被断开, 默认60000, -1无超时,(Tomcat的标准server.xml中,设置为20000);
connectionTimeout="20000"

# 表示最多可以有多少个socket连接到tomcat上,Acceptor能同时接受的最大连接数,超出时,服务器将接收一个连接但是不处理(被阻塞),NIO的默认值是10000,APR/native的默认值是8192,而BIO的默认值为maxThreads;
max-connections="10000"

# 容许Servlet容器,正在执行使用一个较长的链接超时值,以使Servlet有较长的时间来完成它的执行,默认值为false
disableUploadTimeout="true"
# https端口
redirectPort="8443"


############ 可忽略属性 #########
# 默认2M,小于0没有限制应该被强制执行;
max-swallow-size
# http请求中header的最大个数,默认100,"-1"表示不限制;
maxHeaderCount
# http-get请求中允许传递的查询字符串的最大个数,默认10000,"-1"表示无限制;
maxParameterCount
# http-post请求中数据(body)的最大尺寸,单位:byte,默认2M;
maxPostSize
# http-get请求中,使用何种字符集对查询字符串进行编码,默认"iso-8859-1",["UTF-8"];
URIEncoding
# 是否对http相应数据启用Gzip压缩,可选值为"off"或者"on";
compression
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
查看Tomcat版本:
1. 打开tomcat路径下的lib文件夹,找到catalina.jar 用解压工具打开,找到:MANIFEST.MF;
2. cmd, 进入tomcat路径bin目录(若配置了环境变量可忽略),输入catalina + enter, 再输入version + enter;
  • 1
  • 2
  • 3
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/算法构造者/article/detail/61497
推荐阅读
相关标签
  

闽ICP备14008679号