tomcat启动:startup.sh、catalina.sh、setclasspath.sh三者关系

tomcat启动:startup.sh、catalina.sh、setclasspath.sh三者关系,第1张

JavaWeb项目发布tomcat容器,我们一般是到tomcat下的 bin/startupsh 直接运行。很少去了解tomcat底层启动细节。
后来实际开发中,需要 在tomcat中显式配置-JVM启动使用内存大小 tomcat启动使用特定的jdk版本 ,才去大致了解下启动过程。

解决:vim打开tomcat目录下的 bin/catalinash 文件,在文件最上部配置 JAVA_OPTS 属性。

说明:大小配置: Xmn < Xms <= Xmx 。如果 Xmn >= Xms ,启动可能会报Too little Mermory size的错误。

场景 :多个web项目使用同一个linux发布服务器,其他已发布的老旧的项目必须在jdk16版本下运行,且linux环境的classpath配置是jdk16。可是你的新项目需要在jdk17上才能运行,此时就 需要让tomcat启动使用特定的jdk17,同时不去影响之前使用jdk16的web项目

解决 :vim打开tomcat目录下的 bin/setclasspathsh 文件,在文件最上部配置 JAVA_HOME 和 JRE_HOME 两个属性。

说明:有的文章写为

set JAVA_HOME=/usr/lib/jvm/javaxxx
set JRE_HOME=$JAVA_HOME/jre

或者写为

export JAVA_HOME=/usr/lib/jvm/javaxxx
export JRE_HOME=$JAVA_HOME/jre

这两种写法都不正确: set 会导致使用startupsh启动项目的时候报Using catallinash commands;而使用 export 则会影响服务器上之前的jdk16的项目。

bin目录下的
startupsh---调用--->catalinash---引用--->setclasspathsh
说明:
1>tomcat的startupsh脚本主要用来判断环境,找到catalinash脚本源路径,将启动命令参数传递给catalinash执行;
2>setclasspathsh检查各种变量是否赋值,验证tomcat启动停止需要涉及到的文件,保障tomcat顺利启动停止;
3>catalinash脚本使用了大量的判断,使用if作为参数的输入判断,核心的启动命令其实就是java命令。

1tomcat启动脚本startupsh分析

Linux下tomcat服务的启动、关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:切换到tomcat主目录下的bin目录(cd usr/local/tomcat/bin)1,启动tomcat服务方式一:直接启动 /startupsh方式二:作为服务启动 nohup /startupsh &方式三:控制台动态输出方式启动 /catalinash run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务解释:通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux服务一直运行通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以以控制台模式启动tomcat服务,直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalinaout日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和Systemoutprintln()等输出的信息。2,关闭tomcat服务/shutdownsh

原因可能有以下几种:
1 如果没有正确安装Tomcat,则无法打开orgapachecatalinastartup,因此需要重新安装Tomcat;
2 如果Tomcat没有正确配置,也可能导致无法打开orgapachecatalinastartup,此时需要检查Tomcat的配置;
3 如果Tomcat服务器没有正确启动,也会导致无法打开orgapachecatalinastartup,此时需要检查Tomcat服务器是否正确启动;
4 如果Tomcat服务器的端口被其他程序占用,也会导致无法打开orgapachecatalinastartup,此时需要检查Tomcat服务器的端口是否被其他程序占用。

linux服务器启动提示nomediapresent步骤:
1、打开电脑进入安装系统的pe界面,打开diskgenius快速分区工具页面,这样会使硬盘重新进行分区,然后就会分成mbr格式。
2、然后就会进入bios页面,之后会切换到securlty选项功能,以此点击sourceboot回车键进入另一个菜单栏选项。
3、在新d出的页面中点击选择sourceboot选项,然后设置为disabled功能。
4、然后就会切换到startup选项功能,接着以此点击csm,然后回车键改为enabled功能。
5、按照正确步骤完成上面的设置,就能按照正常方法进行安装系统。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13449361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-08
下一篇 2023-08-08

发表评论

登录后才能评论

评论列表(0条)

保存