Tomcat bin目錄是存放啟動(dòng)和關(guān)閉tomcat腳本。其中.bat和.sh文件很多都是成對(duì)出現(xiàn)的推溃,作用是一樣的,一個(gè)是Windows的袱巨,一個(gè)是Linux。
① 文件:主要是檢查catalina.bat/sh執(zhí)行所需環(huán)境碳抄,并調(diào)用catalina.bat 批處理文件愉老。啟動(dòng)tomcat。
異常:打開可能有閃退的問題纳鼎。原因可能有以下兩點(diǎn):
1)缺少環(huán)境變量配置俺夕,startup會(huì)檢查你的電腦環(huán)境變量是否有JAVA_HOME。
2)已經(jīng)開啟了Tomcat容器贱鄙,再次開啟端口號(hào)會(huì)被占用劝贸。
java.net.BindException: Address already inuse: JVM_Bind
② catalina文件:真正啟動(dòng)Tomcat文件,可以在里面設(shè)置jvm參數(shù)逗宁。
異常:可能出現(xiàn)內(nèi)存溢出錯(cuò)誤可以考慮修改它
1)java.lang.OutOfMemoryError: Java heap space
Tomcat默認(rèn)可以使用的內(nèi)存為128MB映九,在較大型的應(yīng)用項(xiàng)目中,這點(diǎn)內(nèi)存是不夠的瞎颗,從而導(dǎo)致客戶端顯示500錯(cuò)誤件甥。
Windows環(huán)境下修改catalina.bat文件,在文件開頭增加如下設(shè)置:setJAVA_OPTS=-Xms256m -Xmx512m
Linux環(huán)境下修改catalina.sh文件哼拔,在文件開頭增加如下設(shè)置:JAVA_OPTS=’-Xms256m -Xmx512m’
其中引有,-Xms設(shè)置初始化內(nèi)存大小,-Xmx設(shè)置可以使用的最大內(nèi)存倦逐。
2) java.lang.OutOfMemoryError: PermGen space
PermGen space的全稱是Permanent Generation space,是指內(nèi)存的永久保存區(qū)域譬正,這塊內(nèi)存主要是被JVM存放Class和Meta信息的,Class在被Loader時(shí)就會(huì)被放到PermGen space中,它和存放類實(shí)例(Instance)的Heap區(qū)域不同,GC(Garbage Collection)不會(huì)在主程序運(yùn)行期對(duì)PermGen space進(jìn)行清理檬姥,所以如果你的應(yīng)用中有很CLASS的話,就很可能出現(xiàn)PermGen space錯(cuò)誤曾我,這種錯(cuò)誤常見在web服務(wù)器對(duì)JSP進(jìn)行pre compile的時(shí)候。如果你的WEB APP下用了大量的第三方j(luò)ar, 其大小超過了jvm默認(rèn)的大小(4M)那么就會(huì)產(chǎn)生此錯(cuò)誤信息了
?解決方法:
在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文件:關(guān)閉Tomcat
④ Tomcat8文件:相當(dāng)于控制臺(tái)直接輸入startup
⑤ Tomcat8w文件:圖像化控制Tomcat
如果想啟動(dòng)Tomcat健民,就點(diǎn)擊Start抒巢。終止就點(diǎn)擊Stop。
異常:點(diǎn)擊Tomcat8和Tomcat8w的時(shí)候出現(xiàn)錯(cuò)誤
解決:在命令行執(zhí)行 service.bat
install(必須在bin文件目錄下執(zhí)行)秉犹,再點(diǎn)擊就OK了蛉谜。