news 2026/6/25 5:06:24

Tomcat理论

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Tomcat理论

文章目录

      • JVM介绍
      • Tomcat介绍
      • Tomcat与Nginx有什么区别?
      • Tomcat启动慢怎么处理
      • Tomcat目录结构介绍
      • Tomcat配置文件

JVM介绍

JVM是Java Virtual Machine(Java虚拟机)的缩写,Java虚拟机本质是就是一个程序,当它在命令行上启动的时候,就开始执行保存在某字节码文件中的指 令。Java语言的可移植性正是建立在Java虚拟机的基础上。任何平台只要装有针对于该平台的Java虚拟机,字节码文件(.class)就可以在该平台上运行。这就是“一次编译,多次运行”。

Tomcat介绍

1、常见的Java web 服务器软件

weblogic:Oracle公司的,大型JavaEE服务器,支持所有的JavaEE规范,收费。

WebSphere:IBM公司的,大型JavaEE服务器,主支持所有的JavaEE规范,收费。

JBOSS:支持所有的JavaEE规范,收费。JBOSS公司的,大型JavaEE服务器,

Tomcat:Apache基金组织,中小型avaEE服务器,仅支持少量的JavaEE规范(serverlet/jsp),开源,免费

Tomcat与Nginx有什么区别?

Tomcat是一个java版的web服务器

Nginx仅支持静态资源,而Tomcat则支持Java开发的 jsp 动态资源和静态资源。

Nginx适合做前端负载均衡,而Tomcat适合做后端应用服务处理。

通常情况下,企业会使用 Nginx+tomcat 结合使用,由Nginx处理静态资源,Tomcat处理动态资

源。

Tomcat启动慢怎么处理

进行优化

#将配置改为file:/dev/urandom,本质是用非阻塞的随机数设备替代阻塞的设备,解决因熵池不足导致的 Java 程序阻塞问题 —— 这是最直接的优化手段vi/usr/java/jdk1.8.0_102/jre/lib/security/java.security securerandom.source=file:/dev/urandom

Tomcat目录结构介绍

├── bin#主要包含启动、关闭tomcat脚本和脚本依赖文件 非常重要├── BUILDING.txt ├── conf#tomcat配置文件目录 非常重要├── CONTRIBUTING.md ├── lib#tomcat运行需要加载的jar包 非常重要├── LICENSE#license文件├── logs#在运行过程中产生的日志文件 非常重要├── catalina.2021-04-14.log ├── catalina.out# 输出日志,类似nginx的error_log├── host-manager.2021-04-14.log ├── localhost.2021-04-14.log ├── localhost_access_log.2021-04-14.txt#站点访问日志,类似nginx的access_log└── manager.2021-04-14.log ├── NOTICE ├── README.md ├── RELEASE-NOTES#版本特性├── RUNNING.txt#帮助文件├── temp#存放临时文件├── webapps#站点目录,默认访问子目录ROOT 非常重要└── work#tomcat运行时产生的缓存文件

Tomcat配置文件

首页可以理解Catalina架构

Catalina是 Tomcat 的核心 Servlet 容器实现,它是 Tomcat 处理 Web 请求的 “心脏”,由一系列层级化组件构成,每个组件有明确职责,协同完成 “接收请求→分发请求→执行 Servlet→返回响应” 的全流程

Catalina组件

组件职责
Catalina解析Tomcat配置文件,创建Server组件并管理其生命周期
Server代表整个Catalina Servlet容器及组件,组装并启动Servlet引擎、连接器,通过Lifecycle接口实现系统优雅启停
ServiceServer内部组件,一个Server包含多个Service,将多个Connector绑定到一个Engine(Container)上
Connector处理客户端通信,接收客户请求并转给容器处理,最后返回响应结果
Container处理用户的Servlet请求,将处理结果返回给Web用户

Container容器

容器组件描述
Engine表示整个Catalina的Servlet引擎,管理多个虚拟站点;一个Service最多含一个Engine,一个Engine可包含多个Host
Host代表一个虚拟主机/站点,Tomcat可配置多个虚拟主机;一个Host可包含多个Context
Context表示一个Web应用程序;一个Web应用可包含多个Wrapper
Wrapper表示一个Servlet,是容器最底层,不能包含子容器

Catalina 的 “组件” 是 Tomcat 中构成 Catalina 架构的顶层模块(包括 Server、Service、Connector、Container);而 “容器” 是Catalina 组件中 “Container” 的内部子结构(即 Engine、Host、Context、Wrapper)—— 简言之:容器是 Catalina 组件的一个 “子集”,是 Container 的细分模块。

Nginx的配置格式

#nginx 配置架构stream{}http{#Engineupstream{}server{#hostlocation{#Context}}}

Tomcat核心配置文件路径

/app/apache-tomcat-9.0.45/conf/server.xml 一个tomcat实例一个server 一个server中包含多个Connector,Connector的主要功能是接受、响应用户请求。 service的作用是:将connector关联至engine(catalina引擎)一个host就是一个站点,类似于nginx的多站点 context类似于nginx中location的概念
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/25 1:36:35

提示词效果差?你必须知道的7个Open-AutoGLM优化盲点,90%的人忽略了

第一章:提示词效果差?你必须知道的7个Open-AutoGLM优化盲点在使用 Open-AutoGLM 模型进行自然语言生成时,许多开发者发现即使输入了看似合理的提示词(prompt),输出结果仍不尽人意。这往往不是模型能力的问题…

作者头像 李华
网站建设 2026/6/24 3:39:49

Linly-Talker在酒店自助入住系统的集成实施方案

Linly-Talker在酒店自助入住系统的集成实施方案系统架构与核心价值 在现代高端酒店的服务大厅里,一个穿着制服、面带微笑的虚拟前台正在用温和的声音迎接宾客:“您好,请问需要办理入住吗?”没有预录语音,也没有机械重复…

作者头像 李华
网站建设 2026/6/25 1:25:52

错过再等一年!Open-AutoGLM官方未公开的任务粒度控制原则

第一章:Open-AutoGLM任务粒度控制的核心理念Open-AutoGLM 是一种面向自动化生成语言模型任务调度的架构设计,其核心在于实现对任务执行粒度的精细化控制。通过将复杂任务分解为可独立调度与评估的子单元,系统能够在资源分配、响应延迟和输出质…

作者头像 李华
网站建设 2026/6/25 0:58:09

Linly-Talker结合Docker Compose简化多容器部署

Linly-Talker 结合 Docker Compose 简化多容器部署 在生成式 AI 与数字人技术加速落地的今天,越来越多企业开始尝试将虚拟形象引入客户服务、在线教育和直播场景。然而,一个看似简单的“会说话的数字人”背后,往往隐藏着复杂的系统架构&#…

作者头像 李华
网站建设 2026/6/25 8:47:47

Linly-Talker支持语音端点检测(VAD),节省计算资源

Linly-Talker 集成语音端点检测:让数字人“只听该听的” 在一场持续数小时的线上直播中,虚拟主播需要长时间“在线待命”——看似安静的画面背后,系统却可能正以每秒数十次的频率运行着自动语音识别(ASR)、大型语言模型…

作者头像 李华
网站建设 2026/6/24 23:32:39

Open-AutoGLM收费陷阱预警:企业在签订开发合同时必须问清的3个问题

第一章:Open-AutoGLM企业定制开发收费模式概述 Open-AutoGLM作为面向企业级场景的自动化生成语言模型平台,提供高度可定制的AI解决方案。其收费模式设计兼顾灵活性与可扩展性,旨在满足不同规模企业的实际需求。平台采用模块化计费结构&#x…

作者头像 李华