Tomcat bin目录详解2019-05-20

Tomcat bin目录是存放启动和关闭tomcat脚本。其中.bat和.sh文件很多都是成对出现的,作用是一样的,一个是Windows的,一个是Linux。

① 文件:主要是检查catalina.bat/sh执行所需环境,并调用catalina.bat 批处理文件。启动tomcat。

异常:打开可能有闪退的问题。原因可能有以下两点:

1)缺少环境变量配置,startup会检查你的电脑环境变量是否有JAVA_HOME。

2)已经开启了Tomcat容器,再次开启端口号会被占用。

java.net.BindException: Address already inuse: JVM_Bind

② catalina文件:真正启动Tomcat文件,可以在里面设置jvm参数。

异常:可能出现内存溢出错误可以考虑修改它

1)java.lang.OutOfMemoryError: Java heap space

Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,从而导致客户端显示500错误。

Windows环境下修改catalina.bat文件,在文件开头增加如下设置:setJAVA_OPTS=-Xms256m -Xmx512m

Linux环境下修改catalina.sh文件,在文件开头增加如下设置:JAVA_OPTS=’-Xms256m -Xmx512m’

其中,-Xms设置初始化内存大小,-Xmx设置可以使用的最大内存。

2) java.lang.OutOfMemoryError: PermGen space

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen space错误,这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了

 解决方法:

在catalina.bat的第一行增加:(Windows)setJAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

在catalina.sh的第一行增加:(Linux)JAVA_OPTS=-Xms64m-Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m - XX:MaxPermSize=256m

③ shutdown文件:关闭Tomcat

④ Tomcat8文件:相当于控制台直接输入startup

⑤ Tomcat8w文件:图像化控制Tomcat

如果想启动Tomcat,就点击Start。终止就点击Stop。

异常:点击Tomcat8和Tomcat8w的时候出现错误

解决:在命令行执行 service.bat

install(必须在bin文件目录下执行),再点击就OK了。

你可能感兴趣的:(Tomcat bin目录详解2019-05-20)