都2020了你该知道Tomcat真正的启动文件了

简介: 都2020了你该知道Tomcat真正的启动文件了

0 前言

全是干货的技术殿堂

https://github.com/Wasabi1234/Java-Interview-Tutorial

真正的启动是在 catalina.sh 设置startup.sh 只是找到catalina.sh 然后执行catalina.sh 来启动!下面我们来分析下catalina.sh

1 验证CATALINA_HOME 环境变量

20.png

2 设置环境变量

在 CATALINA_BASE 和 CATALINA_BASE 目录下查找 setenv.bat 文件并执行,找不到则不执行。

查找 setclasspath.bat 文件,并执行,找不到则结束

setclasspath.bat 设置java相关的环境变量。

3 tomcat 日志管理

把tomcat-juli.jar 添加到classPath环境变量中。

并把日志的配置文件路径添加到 LOGGING_CONFIG 环境变量

4 tomcat-juli.jar 作用

Apache Tomcat由一个自己的实现了java.util.logging多个关键元素的实现。这个实现被称为JULI。实现的核心组件是定制化的LogManager,可以获取运行在Tomcat中的不同web应用(以及不同的classloader)。他支持为应用配置单独的日志配置。当有web应用从内在中是被卸载时,会接到Tomcat的通知,以便他所引用的类可以被清除,避免内存泄露。

控制台信息输出

21.png

5 设置tomcat的启动类

6 设置 tomcat 远程调试相关参数

开启远程调试功能后,eclipse 中配置 Host 和 Port 然后Debug 就可以远程调试tomcat中的程序了。

7 其它启动模式

除了远程调试启动模式,还有如下几种启动模式

22.png

启动tomcat、关闭tomcat都是调用的catalina.bat。

run和start 的区别

  • run是在本窗口中执行
  • start是新开一个窗口执行

8 JAVA_OPT 参数配置

配置时写在文件开头.

-server:一定要作为第一个参数,在多个CPU时性能佳

-XX:+HeapDumpOnOutOfMemoryError:设置不能分配java堆或永久保存区域不能满足时,生成heap dump文件。


-Xms:初始Heap大小,使用的最小内存,CPU性能高时,此值应设的大一些


-Xmx:java Heap最大值,使用的最大内存


-XX:PermSize:设定内存的永久保存区域


-XX:MaxPermSize:设定最大内存的永久保存区域


-XX:MaxNewSize:JVM堆区域新生代内存的最大可分配大小(PermSize不属于堆区)


-DCATALINA_HOME:tomcat环境变量


-DLOG_PATH:日志输出路径


-Djava.net.preferIPv4Stack:用于限制优先使用IP4地址


-Dsso_host:单点登录地址


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
17天前
|
前端开发 JavaScript Java
从零手写实现 tomcat-10-static resource 静态资源文件
该文档记录了作者为理解Tomcat精髓,动手从零开始实现一个简化版Tomcat的过程。系列教程包括对web.xml的解析、基础的Socket实现、请求响应抽象、Servlet支持、线程池处理、WAR包解析及与SpringBoot集成等。文章以静态资源处理为例,介绍了如何接收HTTP请求,查找并返回文件内容,以及处理失败情况。代码示例展示了静态资源的分发逻辑。项目已开源,可在GitHub上访问[https://github.com/houbb/minicat](https://github.com/houbb/minicat)。
|
2月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
295 1
|
9月前
|
SQL 关系型数据库 MySQL
CentOS部署JAVA程序、安装Tomcat以及安装导入mysql文件的方法
CentOS部署JAVA程序、安装Tomcat以及安装导入mysql文件的方法
|
6月前
|
Unix 应用服务中间件 Linux
Tomcat清理日志文件无法立即释放磁盘空间
Tomcat清理日志文件无法立即释放磁盘空间
|
11月前
|
Java 应用服务中间件
用IDEA创建servlet文件并用Tomcat运行
用IDEA创建servlet文件并用Tomcat运行
137 0
|
12月前
|
安全 Java 应用服务中间件
tomcat的put方法任意文件写入漏洞浅谈
tomcat的put方法任意文件写入漏洞浅谈
210 0
|
安全 Java 应用服务中间件
CVE-2017-12615 Tomcat PUT方法任意写文件漏洞
CVE-2017-12615 Tomcat PUT方法任意写文件漏洞
177 0
CVE-2017-12615 Tomcat PUT方法任意写文件漏洞
|
安全 Java 中间件
CVE-2020-1938 Aapache Tomcat AJP 文件包含漏洞
CVE-2020-1938 Aapache Tomcat AJP 文件包含漏洞
93 0
CVE-2020-1938 Aapache Tomcat AJP 文件包含漏洞
|
Java 应用服务中间件
DreamWeaver CS5 搭建Tomcat服务器 运行Jsp文件
DreamWeaver CS5 搭建Tomcat服务器 运行Jsp文件
267 0
DreamWeaver CS5 搭建Tomcat服务器 运行Jsp文件
|
应用服务中间件 Docker 容器
docker安装tomcat 映射配置文件、日志文件
本文是博主学习docker的记录,希望对大家有所帮助。
640 0
docker安装tomcat 映射配置文件、日志文件