Tomcat 服务器核⼼配置详解——server.xml

Tomcat配置文件server.xml详解及示例代码 它的配置文件server.xml在Tomcat的安装目录下的conf文件夹中,是Tomcat服务器的主要配置文件之一。directory属性指定了日志存放目录为logs,prefix属性定义了日志文件名前缀为localhost_access_log,suffix属性定义了日志文件后缀为.txt。在server.xml中,您可以配置多个连接器,以便支持不同的协议和配置。上述示例中,我们配置了一个AprLifecycleListener监听器,用于在Tomcat生命周期中处理APR库的相关事件。 阅读详情

核⼼配置在tomcat⽬录下conf/server.xml⽂件

注意:

  • Tomcat作为服务器的配置,主要是server.xml文件的配置
  • server.xml中包含了Servlet容器相关的配置,即Catalina的配置
  • server.xml主要是各个标签的使用

主要标签格式如下:

<!--
 Server 根元素,创建⼀个Server实例,⼦标签有 Listener、GlobalNamingResources、
Service
-->
<Server>
 <!--定义监听器-->
 <Listener/>
 <!--定义服务器的全局JNDI资源 -->
 <GlobalNamingResources/>
 <!--
 定义⼀个Service服务,⼀个Server标签可以有多个Service服务实例
 -->
 <Service/>
</Server>

1.Server标签

<!--
 port:关闭服务器的监听端⼝
 shutdown:关闭服务器的指令字符串
-->
<Server port="8005" shutdown="SHUTDOWN">
 <!-- 以⽇志形式输出服务器 、操作系统、JVM的版本信息 -->
 <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
 <!-- Security listener. Documentation at /docs/config/listeners.html
 <Listener className="org.apache.catalina.security.SecurityListener" />
 -->
 <!--APR library loader. Documentation at /docs/apr.html -->
 <!-- 加载(服务器启动) 和 销毁 (服务器停⽌) APR。 如果找不到APR库, 则会输出⽇志, 并
不影响 Tomcat启动 -->
 <Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
 <!-- Prevent memory leaks due to use of particular java/javax APIs-->
 <!-- 避免JRE内存泄漏问题 -->
 <Listener
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
 <!-- 加载(服务器启动) 和 销毁(服务器停⽌) 全局命名服务 -->
 <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
 <!-- 在Context停⽌时重建 Executor 池中的线程, 以避免ThreadLocal 相关的内存泄漏 -->
<Listener
className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
 
 
 <!-- Global JNDI resources
 Documentation at /docs/jndi-resources-howto.html
 GlobalNamingResources 中定义了全局命名服务
 -->
 <GlobalNamingResources>
 <!-- Editable user database that can also be used by
 UserDatabaseRealm to authenticate users
 -->
 <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>
 <!-- A "Service" is a collection of one or more "Connectors" that share
 a single "Container" Note: A "Service" is not itself a "Container",
 so you may not define subcomponents such as "Valves" at this level.
 Documentation at /docs/config/service.html
 -->
 <Service name="Catalina">
 ...
 </Service>
</Server>

2.Service标签

<!--
 该标签⽤于创建 Service 实例,默认使⽤ org.apache.catalina.core.StandardService。
 默认情况下,Tomcat 仅指定了Service 的名称, 值为 "Catalina"。
 Service ⼦标签为 : Listener、Executor、Connector、Engine,
 其中:
 Listener ⽤于为Service添加⽣命周期监听器,
 Executor ⽤于配置Service 共享线程池,
 Connector ⽤于配置Service 包含的链接器,
 Engine ⽤于配置Service中链接器对应的Servlet 容器引擎
-->
<Service name="Catalina">
 ...
</Service>

3.Executor标签

 

<!--
    默认情况下,Service 并未添加共享线程池配置。 如果我们想添加⼀个线程池, 可以在
<Service> 下添加如下配置:
 name:线程池名称,⽤于 Connector中指定
 namePrefix:所创建的每个线程的名称前缀,⼀个单独的线程名称为
namePrefix+threadNumber
 maxThreads:池中最⼤线程数
 minSpareThreads:活跃线程数,也就是核⼼池线程数,这些线程不会被销毁,会⼀直存在
 maxIdleTime:线程空闲时间,超过该时间后,空闲线程会被销毁,默认值为60000(1分钟),单位
毫秒
 maxQueueSize:在被执⾏前最⼤线程排队数⽬,默认为Int的最⼤值,也就是⼴义的⽆限。除⾮特
殊情况,这个值 不需要更改,否则会有请求不会被处理的情况发⽣
 prestartminSpareThreads:启动线程池时是否启动 minSpareThreads部分线程。默认值为
false,即不启动
 threadPriority:线程池中线程优先级,默认值为5,值从1到10
 className:线程池实现类,未指定情况下,默认实现类为 
org.apache.catalina.core.StandardThreadExecutor。如果想使⽤⾃定义线程池⾸先需要实现
org.apache.catalina.Executor接⼝
-->
<Executor name="commonThreadPool"
 namePrefix="thread-exec-"
 maxThreads="200"
 minSpareThreads="100"
 maxIdleTime="60000"
 maxQueueSize="Integer.MAX_VALUE"
 prestartminSpareThreads="false"
 threadPriority="5"
 className="org.apache.catalina.core.StandardThreadExecutor"/>

4.Connector标签

Connector 标签⽤于创建链接器实例
默认情况下,server.xml 配置了两个链接器,⼀个⽀持HTTP协议,⼀个⽀持AJP协议
⼤多数情况下,我们并不需要新增链接器配置,只是根据需要对已有链接器进⾏优化
<!--
port:
 端⼝号,Connector ⽤于创建服务端Socket 并进⾏监听, 以等待客户端请求链接。如果该属性设置
为0, Tomcat将会随机选择⼀个可⽤的端⼝号给当前Connector 使⽤
protocol:
 当前Connector ⽀持的访问协议。 默认为 HTTP/1.1 , 并采⽤⾃动切换机制选择⼀个基于 JAVA
NIO 的链接器或者基于本地APR的链接器(根据本地是否含有Tomcat的本地库判定)
connectionTimeOut:
Connector 接收链接后的等待超时时间, 单位为 毫秒。 -1 表示不超时。
redirectPort:
 当前Connector 不⽀持SSL请求, 接收到了⼀个请求, 并且也符合security-constraint 约束,
需要SSL传输,Catalina⾃动将请求重定向到指定的端⼝。
executor:
 指定共享线程池的名称, 也可以通过maxThreads、minSpareThreads 等属性配置内部线程池。
URIEncoding:
 ⽤于指定编码URI的字符编码, Tomcat8.x版本默认的编码为 UTF-8 , Tomcat7.x版本默认为ISO-
8859-1
-->
<!--org.apache.coyote.http11.Http11NioProtocol , ⾮阻塞式 Java NIO 链接器-->
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

可以使用共享线程池

<Connector port="8080" 
 protocol="HTTP/1.1"
 executor="commonThreadPool"
 maxThreads="1000" 
 minSpareThreads="100" 
 acceptCount="1000" 
 maxConnections="1000" 
 connectionTimeout="20000"
 compression="on" 
 compressionMinSize="2048" 
 disableUploadTimeout="true" 
 redirectPort="8443" 
 URIEncoding="UTF-8" />

5. Engine标签:表示Servlet引擎

<!--
name: ⽤于指定Engine 的名称, 默认为Catalina
defaultHost:默认使⽤的虚拟主机名称, 当客户端请求指向的主机⽆效时, 将交由默认的虚拟主机处
理, 默认为localhost
-->
<Engine name="Catalina" defaultHost="localhost">
 ...
</Engine>

6.Host标签:⽤于配置⼀个虚拟主机

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
 ...
</Host>

7.Context标签:⽤于配置⼀个Web应⽤

<Host name="www.abc.com" appBase="webapps" unpackWARs="true"
autoDeploy="true">
<!--
 docBase:Web应⽤⽬录或者War包的部署路径。可以是绝对路径,也可以是相对于 Host appBase的
相对路径。
 path:Web应⽤的Context 路径。如果我们Host名为localhost, 则该web应⽤访问的根路径为: 
 http://localhost:8080/web_demo。
-->
 <Context docBase="/Users/yingdian/web_demo" path="/web3"></Context> 
 
 <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>

【STK】手把手教你利用STK进行弹道导弹和运载火箭发射仿真的相关方法全过程解析 写这个系列主要是这几年做了一些弹道导弹和运载火箭发射的相关仿真项目,stk软件由于其专业性在国内比较小众,相关的教程和书籍、经验贴都不是很多,因此新手在进行开发中容易遇到较多困难,把自己的一些经验体会写下来,一方面供自己总结回顾,另一方面也希望对大家有所帮助。这个系列计划分几篇文章写完,每章的内容结构相似,都分为①如何确定发射场位置和发射轨迹、②导入导弹和运载火箭模型、③设计模型分段动作、④飞行参数分析和相关应用这四个部分,每篇文章争取完整描述1-2个实际项目的操作过程。 阅读详情

相关推荐

利用OTSU阈值算法在ZYNQ上实现浒苔识别

利用OTSU阈值算法进行图像二值化,结果用HDMI显示

qq_38075564的博客 1276

【tomact】07 Tomcat整体说明

一、介绍 1、Tomcat内核高度抽象,则它可以看成由连接器(Connector)组件和容器(Container)组件组成,其中Connector组件负责在服务器端处理客户端连接,包括接收客户端连接、接收客户端的消息报文以及消息报文的解析等工作,而Container组件则负责对客户端的请求进行逻辑处理,并把结果返回给客户端。 2、Container组件实包括4个级别的容器:Engine组件、Host组件、Context组件和Wrapper组件,容器也是整个Tomcat的核心。 二、tomcat server

promiseful的博客 207

一篇教你杰理63系列蓝牙双设备主从连接传输数据过程及配置

首先打开632sdk的app_config.h文件,将宏CONFIG_APP_SPP_LE写0,将宏CONFIG_APP_MULTI写1,对应的CONFIG_BT_GATT_CLIENT_NUM写1代表我只连接一个主机设备。属性都可以修改为自己想要的属性,然后关掉文件,双击gatt_inc_generator.exe文件运行,就会自动弹出生成/更新后的gatt_profile_cfg.h文件,然后里面就是我们代码里面所需要的配置,都是十六进制表示,找到我们刚刚添加的服务属性配置,复制到代码里面去。

xiaolizaixian的博客 1379

Tomcat

Tomcat是目前比较流行的Web 应用服务器,它一个开源的Servlet容器

张张张小胜的博客 706

RK3568 解决MIPI屏幕开机只显示uboot logo的问题

之前写过一篇文章介绍了RK3568驱动MIPI屏幕的方法,这次产品迭代,硬件改版,选型的新的屏幕了。所以再次开启调试屏幕的过程。本以为会和上次一样会轻车熟路,事情总是事与愿违,同样的路,遇到新的坑。

fhqlongteng的博客 5427

Windows/Mac/Linux三系统保姆级教程:用llama.cpp将safetensors模型转gguf格式(附常见错误解决)

本文提供Windows、Mac和Linux系统下使用llama.cpp将safetensors模型转换为gguf格式的详细教程,涵盖环境配置、转换原理及常见错误解决方案。通过跨平台兼容性处理,帮助开发者高效完成模型格式转换,优化边缘计算性能。

weixin_29227425的博客 271

Tomcat 服务器核心配置解析

Tomcat 服务器核心配置解析 Tomcat服务器核心配置文件路径 Tomcat目录下的\conf\server.xml 注意: Tomcat 作为服务器的配置,主要是 server.xml 文件的配置 server.xml 中包含了 Servlet 容器的相关配置,即 Catalina 的配置 主要标签结构如下: <!-- Server 根元素,创建⼀个Server实例,⼦标签有 Listener、GlobalNamingResources、Service --> <Ser

章全蛋的博客 371

【Visual Assist X助手安装问题】Visual Assist X无法安装(双击安装包没反应) | Visual Assist X安装后在Visual Studio中找不到(亲测有效)

本文分享了Visual Assisant X助手的安装与使用问题的详细解决办法,因为网上搜集的信息比较少,所以有一定的参考价值。考虑到很多开发新手会遇到上述问题,可能对Windows系统不熟悉,所以相关操作步骤讲解的很详细!

dvlinker的技术专栏 6万+

详解Tomcat 配置文件server.xml

目录 前言 一、一个server.xml配置实例 二、server.xml文档的元素分类和整体结构 1、整体结构 2、元素分类 三、核心组件 1、Server 2、Service 3、Connector 4、Engine 5、Host (1)Engine与Host (2)Host的作用 (3)Host的配置 6、Context (1)Context的作用 (...

4149

ABAP链接外围数据库SQL实战案例

这是一个ABAP 直接读取SQL数据库数据的实例,以此种方式可以将SAP与外围的系统做一些集成,比如生产,SAP本身生产这部分是弱项,管不了那么细,很多车间的数据都是在MES系统,如管理上需要则可以将MES的一些数据自动读取过来,结合SAP本身的业务数据,做一些分析是比较方便的。 1、首先在SAP里建立数据库链接:DBCO ,直接增加一条记录,填上数据库的相关信息:IP地址、数据库名、账号SA、密码这些。 2、开发程序,设置成自动运行的计划,固定时间自动读取SQL里的数据,保存到SAP自定义表.

heng0757的专栏 1512

第五章 TTM 后备管理:5.11 迁移的执行

本文讨论 TTM 框架中缓冲区对象(BO)数据搬运的完整流程,涵盖搬运入口 ttm_bo_handle_move_mem() 的执行步骤、驱动 move 回调的约定、同步辅助函数的使用、多跳迁移机制及异步流水化搬运的处理。重点说明了中转位置的引入原因与执行逻辑,以及通过 ghost 对象和 fence 机制解决异步搬运中的资源释放与访问一致性问题,确保数据安全迁移的同时支持 GPU 异步操作。

图形/计算GPU的驱动与虚拟化技术分享园地 1716

Tomcat-核⼼配置详解-server.xml

#### Tomcat -server.xml结构 <!-- Server 根元素,创建⼀个Server实例,⼦标签有 Listener、 GlobalNamingResources、 Service 中有 Connector Engine Host --> <?xml version="1.0" encoding="UTF-8"?> <Server port="8005" shutdown="SHUTDOWN"> <Listener classNa

小城我家 397

ESP32学习笔记03-日志打印

日志分为5个等级。

Car12 1416

Tomcat 服务器核⼼配置详解

Tomcat 服务器核⼼配置详解 问题⼀:去哪⼉配置? 核⼼配置在tomcat⽬录下conf/server.xml⽂件 问题⼆:怎么配置? 注意: Tomcat 作为服务器的配置,主要是 server.xml ⽂件的配置; server.xml中包含了 Servlet容器的相关配置,即 Catalina 的配置; Xml ⽂件的讲解主要是标签的使⽤ 主要标签结构如下: <!-- Server 根元素,创建⼀个Server实例,⼦标签有 Listener、GlobalNamingResources

qq_40977467的博客 172

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Tomcat 核⼼配置 之 Server 标签

Tomcat的配置文件在其安装后生成的conf目录下,其中主配置文件便是conf下的server.xml文件。 server.xml文件由server->service->engine->host->context结构组成。 注意: Tomcat 作为服务器的配置,主要是 server.xml ⽂件的配置; server.xml中包含了 Servlet容器的相关配置,即 Catalina 的配置; Xml ⽂件的讲解主要是标签的使⽤ 主要标签结构如下: <!-- Server

qq_36194388的博客 260

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Tomcat 核⼼配置 之 Service标签

该标签⽤于创建 Service 实例,默认使⽤ org.apache.catalina.core.StandardService。 默认情况下,Tomcat 仅指定了Service 的名称, 值为 “Catalina”。 <!-- Service ⼦标签为 : Listener、Executor、Connector、Engine, 其中: Listener ⽤于为Service添加⽣命周期监听器, Executor ⽤于配置Service 共享线程池, Connector ⽤于配置Servic

qq_36194388的博客 543

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Tomcat配置文件server.xml详解

记录学习tomcat服务器 Tomcat服务器详解,如有不合理之处,恳请指正。谢谢哦 <?xml version="1.0" encoding="UTF-8"?> <!-- Server 根元素,创建⼀个Server实例,⼦标签有 Listener、GlobalNamingResources、Service Listener:代表监听器 GlobalNamingResources:定义服务器的全局JNDI资源 (全局的命名服务) Service..

ming13849012515的博客 605

Tomcat服务器核心配置详解

问题⼀:去哪⼉配置? 核⼼配置在tomcat⽬录下conf/server.xml⽂件 问题⼆:怎么配置? 注意: Tomcat 作为服务器的配置,主要是 server.xml ⽂件的配置; server.xml中包含了 Servlet容器的相关配置,即Catalina 的配置; Xml ⽂件的讲解主要是标签的使⽤ 主要标签结构如下: <!-- Server 根元素,创建⼀个Server实例,⼦标签有 Listener、GlobalNamingResources、 Service --> &l

FDXCG_X的博客 282

tomcat中server.xml配置文件详解

<?xml version="1.0" encoding="UTF-8"?> <!-- Server 根元素,创建⼀个Server实例,⼦标签有 Listener、GlobalNamingResources、Service port:关闭服务器的监听端⼝ shutdown:关闭服务器的指令字符串 --> <Server port="8005" shutdown="SHUTDOWN"> <!-- 创建 5 个监听器 start --&gt

qq_45794943的博客 815

Tomcat Web应⽤服务器详解

第⼀部分 Tomcat 系统架构与原理剖析 第1节 浏览器访问服务器的流程 http请求的处理过程 第 2 节 Tomcat 系统总体架构 2.1 Tomcat 请求处理⼤致过程 Tomcat是⼀个Http服务器(能够接收并且处理http请求,所以tomcat是⼀个http服务器) 我们使⽤浏览器向某⼀个⽹站发起请求,发出的是Http请求,那么在远程,Http服务器接收到这个请求之后,会调⽤具体的程序(Java类)进⾏处理,往往不同的请求由不同的Java类完成处理。 HTTP 服务器接收到请求之后把请

wy491525030的专栏 198

Tomcat学习积累笔记---Tomcat的服务器核心配置讲解

Tomcat学习积累笔记—Tomcat的服务器核心配置讲解 问题⼀:去哪⼉配置? 核⼼配置在tomcat⽬录下conf/server.xml⽂件 问题⼆:怎么配置? 注意: Tomcat 作为服务器的配置,主要是 server.xml ⽂件的配置; server.xml中包含了 Servlet容器的相关配置,即 Catalina 的配置; Xml ⽂件的讲解主要是标签的使⽤ <!-- Server 根元素,创建⼀个Server实例,⼦标签有 Listener、GlobalNamingResourc

qq_39314972的博客 149

Tomcat使用及原理剖析

一、Tomcat 系统架构与原理剖析 b/s(浏览器/服务器模式)浏览器是客户端(发送http请求)———>服务器端 1、浏览器访问服务器的流程 http请求的处理过程 注意: 浏览器访问服务器使⽤的是Http协议,Http是应⽤层协议,⽤于定义数据通信的格式,具体的数据传输使⽤的是TCP/IP协议 2、Tomcat系统总体架构 2.1 Tomcat请求处理大致过程 Tomcat是⼀个Http服务器(能够接收并且处理http请求,所以tomcat是⼀个http服务器) 我们使⽤浏览器向某⼀个

weixin_44795847的博客 433

Tomcat剖析

Tomcat 系统架构与原理剖析 浏览器访问服务器的流程

奥妙de~java的博客 354

Tomcat 系统架构与原理剖析

先看一下tomcat的文件目录 bin目录存放启动停止tomcat的脚本目录 conf目录存放配置文件 lib目录存放基础jar包,tomcat是用Java开发的,lib里面有一些依赖的基础jar包 logs存放日志的 webapps目录用于发布项目,发布项目的war包 放在这,ROOT项目tomcat自带的项目,用于管理界面的 1、浏览器访问服务器的流程 ...

libufan的博客 372

2-1-1 tomcat整体架构及组件介绍

tomcat 高级使用及原理培训

qq_42082278的博客 671
上一篇: springboot缓存——@Cacheable
下一篇: ThreadPoolExecutor参数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值