Tomcat目录文件
一:Tomcat文件解析
/bin:脚本文件目录。(其中sh文件liux上的启动文件,bat文件windows上的启动文件)
/lib:tomcat的一系列依赖的jar包
/common/lib:存放所有web项目都可以访问的公共jar包(使用Common类加载器加载)。
/conf:存放配置文件,最重要的是server.xml。
/logs:存放日志文件。
/server/webapps:来管理Tomcat-web服务用的。仅对TOMCAT可见,对所有的WEB APP都不可见(使用Catalina类加载器加载)。
/shared/lib:仅对所有WEB APP可见,对TOMCAT不可见(使用Shared类加载器加载)。
/temp:Tomcat运行时候存放临时文件用的。
/webapps:web应用发布目录。
/work:Tomcat把各种由jsp生成的servlet文件放在这个目录下。删除后,启动时会自动创建。
logs存放日志文件:
1.catalina.日期.log
这个主要是记录tomcat启动时候的信息,类似于我们在eclipse中启动服务的时候在控制台看到的信息。在里面可以看到启动的JVM参数以及操作系统等日志信息。如果没有使用log4j等日志机制,系统的的错误信息与打印语句也在这个日志文件中记录。(linux下所有的日志都在catalina.out中)
2.commons-daemon.日期.log
这个日期放的估计是利用服务方式启动tomcat作为守护进程的日志记录,因为我的tomcat启动方式是以服务的方式启动的,索引产生这个日志文件记录了服务的启动状态。
3.host-manager.日期.log
这个估计是放tomcat的自带的manager项目的日志信息的,也没有看到有什么重要的日志信息
4.localhost.日期.log
这个类似于第一种日志,可是信息没有第一种全
5.localhost_access_log.日期.txt
这个是存放访问tomcat的请求的所有地址以及请求的路径、时间,请求协议以及返回码等信息(重要)
6.manager.日志.log
这个估计也是manager项目专有的日志文件,看不出有什么重要的信息
7.tomcat7-stderr.日期.log
这个是log4j的错误日志,因此在程序中要合理的捕捉异常。
8.tomcat7-stdout.日期.log (类似于eclipse的控制台的信息)
这个是程序中的System语句打印的日志(包括系统抛出的异常),也终于明白了为什么一再强调不能用打印语句进行系统调试
二:tomcat的三种部署项目方式
隐式部署:
1)webapps目录下
显式部署:
1)conf/server.xml中的Host加入一个Context(指定路径和文件地 址)
<Context path="/test" docBase="webdemo" debug="0" reloadable="true" />。docBase目录默认使用appBase="webapps"这个目录。也可以是绝对路径。
2)在conf/Catalina/localhost中创建xml文件(热部署),访问路径为文件名
Tomcat启动步骤
Bootstrap -> catalina -> server -> service -> connector、container等
三:Tomcat Server处理一个HTTP请求的过程
1、用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得。
2、Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应。
3、Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host。
4、Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有的Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理)。
5、path=“/test”的Context获得请求/index.jsp,在它的mapping table中寻找出对应的Servlet。Context匹配到URL PATTERN为*.jsp的Servlet,对应于JspServlet类。
6、构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost().执行业务逻辑、数据存储等程序。
7、Context把执行完之后的HttpServletResponse对象返回给Host。
8、Host把HttpServletResponse对象返回给Engine。
9、Engine把HttpServletResponse对象返回Connector。
10、Connector把HttpServletResponse对象返回给客户Browser。
四:tomcat的优化
Tomcat中server.xml优化
1:连接器模式改为NIO模式
NIO模式最大化压榨了CPU,把时间片更好利用起来
NIO适合大量长连接
2:关闭自动重载
<Context docBase="" reloadable="false"/>
关闭自动重载,默认是true(不同版本中有差异)
自动加载增加运行开销并且很容易内存溢出
3:配置线程池
Executor标签中属性
【namePrefix】线程命名前缀
【maxThreads】最大允许线程数
【minSpareThreads】最少空闲线程,相当于初始化的线程,线程池中的线程
Connector标签中的属性
【executor】对上面Executor标签标签的引用
Tomcat中web.xml优化
Jspservlet开发模式(development)设置为false
SpringBoot中Tomcat优化
Maven中Springboot引入Tomcat
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
1.设置线程池
server.tomcat.max-threads=1000
2.关闭Accesslog日志
server.tomcat.accesslog=false
当前应用是REST应用(微服务):
servlet优化
1.去掉不必要的资源:JspServlet
2.seesion也可以移除
web.xml优化:
移除掉AccessLogValve
valve实现都需要消耗java应用的计算时间,一般我们可以使用nginx来记录日志
分享到:
相关推荐
而将Tomcat相关的操作封装成shell脚本,是Linux系统管理中的常见实践,能够提高工作效率,便于自动化部署和维护。以下将详细介绍Tomcat在Linux环境下的操作以及如何通过shell脚本来实现这些操作。 一、Tomcat基础...
以上就是针对“myeclipse2015中与tomcat有关的问题”的一些知识点,包括配置Tomcat、自定义端口、解决端口冲突、配置服务器、运行和调试项目以及JSP学习相关的内容。希望能够帮助读者在MyEclipse中更好地使用Tomcat...
提供以下与 Tomcat 相关的指标: 线程池指标 会话指标 请求处理器指标 数据库连接池指标 Tomcat 版本信息 Servlet 响应时间指标 数据库响应时间指标 使用此库 如果你以常规非嵌入式方式运行 Tomcat,我们推荐将以下...
【Tomcat相关用法】 Tomcat是一款广泛使用的开源Java应用服务器,特别适合于小型到中型的Web应用程序。以下是一些关于Tomcat使用的重要知识点: 1. **安装与配置**: - 下载Tomcat安装包,解压到指定目录。 - ...
**Idea Tomcat Runner插件详解** 在Java开发领域,IntelliJ IDEA是一款备受推崇的集成开发环境(IDE),尤其以其...如果你是社区版IDEA的使用者,并且经常需要处理Tomcat相关的任务,那么这个插件无疑是你的好帮手。
《SmartTomcat插件在IDEA中的安装与使用详解》 SmartTomcat是专为IntelliJ IDEA(简称IDEA)设计的一款强大的Tomcat服务器管理插件...如果你是IDEA用户且经常处理Tomcat相关的项目,那么SmartTomcat将是你的得力助手。
4. 启动后版本没变更:根据控制台打印出的使用的 Tomcat 相关 jar 包,在启动项所在 pom 中添加后重新启动。 知识点 4: 验证是否替换成功 验证是否替换成功需要: 1. 控制台查看 Tomcat 版本:查看控制台打印出的...
标签“tomact 32”表明这是与Tomcat相关的32位版本,强调了它在32位操作系统上的兼容性。 压缩包子文件的文件名称“apache-tomcat-6.0.47”表明这是Apache Tomcat的6.0.47版本的完整安装包,包含了运行Tomcat所需的...
【标签】"WEB Tomcat"表明这是一个与Web服务器和Tomcat相关的主题。在Web开发中,Tomcat作为Servlet容器,用于处理HTTP请求并响应动态内容,如JSP页面。它与其他更全面的应用服务器(如IBM WebSphere或Oracle ...
【标签】"tomcat"明确指出该文件主要与Tomcat服务器相关,这意味着文件内容将涉及与Tomcat相关的所有技术细节,如服务器的安装、配置、运行、管理以及与Java应用的集成等。 在【压缩包子文件的文件名称列表】中提到...
总的来说,Tomcat在Eclipse下的插件极大地提高了Java Web开发者的工作效率,使得在Eclipse中进行Tomcat相关的开发和调试工作变得简单且直观。结合Apache Ant这样的构建工具,整个流程更加顺畅,是Java Web开发者的...
3. 配置环境变量:设置CATALINA_HOME指向Tomcat的根目录,并添加到系统PATH环境变量中,以便在命令行中直接运行Tomcat相关命令。 4. 启动与关闭:通过bin目录下的startup.bat和shutdown.bat脚本启动和关闭Tomcat服务...
apache-tomcat-7.0.52 apache-tomcat-5.5.26.zip apache-tomcat-6.0.16.zip apache-tomcat-7.0.50-windows-x86.zip
如果没有列出Tomcat,点击“Download additional server adapters”链接,搜索并安装Tomcat相关的插件。 5. 选择Apache Tomcat服务器的版本,点击“Next >”,然后指定Tomcat的安装路径。如果Tomcat尚未安装,先下载...
在"TomcatDemo"中,可能使用Maven或Gradle来构建和打包应用,它们能自动下载并管理Tomcat相关依赖。 6. **生命周期管理**:内嵌式Tomcat提供了启动、停止和重新加载Web应用的接口,方便在应用运行时进行动态更新。 ...
【标签】"tomcat"进一步强调了这个压缩包的主要内容,即与Tomcat相关的软件。 【压缩包子文件的文件名称列表】包含两个文件:`apache-tomcat-7.0.75.exe`是Tomcat的安装程序,它包含了运行Tomcat所需的所有组件,如...
你会看到一系列与Tomcat相关的插件,如“Tomcat Server Adapter”或“Tomcat Plugin”。 3. **选择并安装插件**:找到适合你的插件,通常推荐的是由Eclipse本身提供的“Tomcat Server Adapter”。点击“Install”...
【标题】"3.0 tomcat.rar"是一个与Tomcat相关的压缩包,它很可能包含了Tomcat服务器的3.0版本的安装文件或者源代码。Tomcat是Apache软件基金会的Jakarta项目下的一个开源免费的Java Servlet容器,尤其适用于运行Java...
在返回的结果中,找到与Tomcat相关的PID(Process ID),通常是`java`进程。PID是进程的唯一标识符。 3. **安全地停止Tomcat**: 通常,Tomcat会监听一个特定的信号来优雅地关闭,可以使用以下命令: ``` kill ...
Tomcat标签通常代表了与Apache Tomcat相关的技术讨论,这可能包括但不限于配置、部署、性能优化、安全设置、故障排查等方面的问题。如果你遇到任何与Tomcat相关的技术问题,都可以通过这个标签寻求帮助或查找相关...