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>
tomcat使用Acceptor线程专门负责从Accept队列中取出connection,接受该connection,然后交给工作线程去处理(读取请求参数、处理逻辑、返回响应等等);
如果该连接不是keep alived的话,则关闭该连接,然后该工作线程释放回线程池,
如果是keep alived的话,则等待下一个数据包的到来直到keepAliveTimeout,然后关闭该连接释放回线程池;
然后Acceptor线程接着去accept队列取connection;1. Tomcat能处理的最大请求数由maxConnections和acceptCount决定;
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"
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
查看Tomcat版本:
1. 打开tomcat路径下的lib文件夹,找到catalina.jar 用解压工具打开,找到:MANIFEST.MF;
2. cmd, 进入tomcat路径bin目录(若配置了环境变量可忽略),输入catalina + enter, 再输入version + enter;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/660423.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区块链游戏解说:Sunflower Land 是什么

数据源&#xff1a;Sunflower Land Dashboard 作者&#xff1a;lesleyfootprint.network 什么是 Sunflower Land Sunflower Land 是基于 Polygon 网络的区块链农场游戏。玩家可以在一个充满活力和身临其境的环境中耕种、收获和交易各种农产品。Sunflower Land 使用了非同质…

Springboot 整合 Quartz(定时任务框架)

一、java 定时任务调度的实现方式 1、Timer 特点是&#xff1a;简单易用&#xff0c;但由于所有任务都是由同一个线程来调度&#xff0c;因此所有任务都是串行执行的&#xff0c;同一时间只能有一个任务在执行&#xff0c;前一个任务的延迟或异常都将会影响到之后的任务&#…

STM32存储左右互搏 QSPI总线读写FLASH W25QXX

STM32存储左右互搏 QSPI总线读写FLASH W25QXX FLASH是常用的一种非易失存储单元&#xff0c;W25QXX系列Flash有不同容量的型号&#xff0c;如W25Q64的容量为64Mbit&#xff0c;也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库Qual SPI总线操作W25Q各型号FLASH的例程。 W25Q…

python异步编程(1)——理论篇

1.理解多线程 当启动一个Python程序时&#xff0c;它会作为一个单独的进程运行在操作系统中。进程是操作系统分配资源&#xff08;如内存和处理器时间&#xff09;的基本单位。每个Python程序启动时&#xff0c;都会创建一个主线程。如果没有在代码中明确创建其他线程&#xf…

【通讯录案例-沙盒路径 Objective-C语言】

一、接下来,我们来学习“存储”的相关的一些东西, 1.打开这个“数据存储“的ppt, 打开这个ppt, 首先呢,关于存储这一块儿, 存储呢,首先,有常见的几种方式,注意啊,这个里边儿是“方式”,方式,什么意思,是表示怎么去存,有五种方式: 1)XML属性列表(plist)归档:…

C++ 11新特性之语法甜点2

概述 C 11中引入了许多简化编程工作的语法上的新特性&#xff0c;我们暂且美其名曰&#xff1a;“语法甜点”。书接上篇&#xff0c;我们继续介绍C 11中的这些“语法甜点”&#xff0c;也是第二篇关于“语法甜点”的文章。 语法甜点6&#xff1a;模板右边双括号 在C 03中&#…

AOP使用案例

//加入bean Component //指定这是一个aop类 AspectSlf4j public class AOPlogin {Autowiredlogrizhi diaoyong;//获取传递过来jwt令牌AutowiredHttpServletRequest jwtlog ;//annotation(* com.example.tlias.AOPbao.loginin // Pointcut("annotation(* com.example.tl…

VUE!!!必看

ECMAScript 6-11 ECMAScript 相关介绍 什么是 ECMA ECMA&#xff08;European Computer Manufacturers Association&#xff09;中文名称为欧洲计算机制造商协会&#xff0c;这个组织的目标是评估、开发和认可电信和计算机标准。1994 年后该组织改名为 Ecma 国际。 什么是 …

【数据结构】(三)树Tree

目录 1、基本概念 2、二叉树Binary Tree 3、树、森林与二叉树的转换 4、赫夫曼树Huffman Tree与赫夫曼编码Huffman Coding 1、基本概念 &#xff08;1&#xff09;树&#xff08;Tree&#xff09;是 n&#xff08;n ≥\geq 1&#xff09;个节点的有限集&#xff0c;n 0时称…

记elasticsearch CPU负载100%问题

记elasticsearch CPU负载100%问题 环境&#xff1a;问题表现&#xff1a;初步排查&#xff1a;日志查询hot_thread 深入查询当前elasticsearch正在运行的Task查看Task详情解决问题对导致问题的原因的几个猜测问题复现&#xff1a;导致问题的原因。json导入规则问题json导入规则…

Linux系统安全之iptables防火墙

目录 一、iptables防火墙的基本介绍 1、netfile与iptables的关系 1.1netfile 1.2iptables 1.3iptables是基于内核的防火墙&#xff0c;其中内置了raw&#xff0c;mangle&#xff0c;nat和filter四个规则表 2、iptables防火墙默认规则表&#xff0c;链结构 二、iptables的…

python实例100第50例:使用 random 模块输出一个随机数。

题目&#xff1a;输出一个随机数。 程序分析&#xff1a;使用 random 模块。 程序源代码&#xff1a; 实例 #!/usr/bin/python # -*- coding: UTF-8 -*-import random#生成 10 到 20 之间的随机数 print (random.uniform(10, 20)) 以上实例输出结果为&#xff1a; 14.4012…

HashSet 的基本操作【集合容器知识回顾 ④】

HashSet 是 Java 中的一个集合类&#xff0c;它实现了 Set 接口。Set 是一种不允许包含重复元素的集合&#xff0c;而 HashSet 则是 Set 接口的一个具体实现。因此&#xff0c;HashSet 用于存储一组唯一的元素&#xff0c;不允许重复。 HashSet 的一些特点&#xff1a; 不允许…

漏洞03-CSRF漏洞

CSRF漏洞 文章目录 CSRF CSRF

mybatis之@Table和@Column注解

背景 假如我们使用mybatis有时候会看到Table和Column注解注解&#xff0c;Table通常写着表的名字&#xff0c;Column注解写着对应数据库字段的值&#xff0c;在一开始我以为它们是用来做数据库表和实体类映射的&#xff0c;比如说通过mybatis从数据库查询&#xff0c;然后结果…

链式二叉树(1)

目录 二叉树的概念&结构 二叉树的遍历概念 手写二叉树测试 二叉树遍历实现代码 递归图解 前序遍历递归图解 中序序遍历递归图解 后续遍历递归图解 二叉树的概念&结构 二叉树是&#xff1a; 空树非空&#xff1a;根节点&#xff0c;根节点的左子树、根节点的右子…

3ASC25H216A DATX132

3ASC25H216A DATX132 3ASC25H216A DATX132 3ASC25H216A DATX132在DAQ应用中使用非隔离DC/DC电源降压模块的优势 "... 图3&#xff1a;德州仪器电源模块电感HTS性能 此外&#xff0c;我们的电源 ... 响应。 图4&#xff1a;功率模块效率和负载瞬态响应 若保持 ...…

Java设计模式-组合模式(13)

大家好,我是馆长!今天开始我们讲的是结构型模式中的组合模式。老规矩,讲解之前再次熟悉下结构型模式包含:代理模式、适配器模式、桥接模式、装饰器模式、外观模式、享元模式、组合模式,共7种设计模式。 组合模式(Composite Pattern) 定义 组合(Composite)模式:又叫…

【开源】基于Qt5的ROS1/ROS2人机交互软件(支持地图编辑/多点导航)

本项目基于Qt5开发&#xff0c;基于CMake进行构建&#xff0c;可以实现一套代码同时在ROS1/ROS2系统中使用(本项目已接入CI,保证多ROS版本/系统版本可用性) 项目地址&#xff1a; https://github.com/chengyangkj/Ros_Qt5_Gui_App 软件在编译时会自动识别环境变量中的ROS1/ROS…

如何对视频进行翻译

下载视频和翻译软件 视频和翻译软件点击下载就行了&#xff0c;下载之后解压&#xff0c;然后把两个exe点一下。接下来如果资金充裕或者要求比较高的可以使用各个api&#xff0c;网站里有视频介绍了。 经济适用视频翻译 原理简析 首先这个软件对视频的翻译的流程大致如下&a…