Tomcat8仍有一閃而退,埠被佔用
繼Failed installing tomcat8 service問題之後,tomcat8一閃而退的問題只是短暫被解決,但後來又出現了。檢視資料發現埠8080又被佔用了,扎心了老鐵,咋安裝個Tomcat這麼坎坷。
1、首先,檢視報錯原因。修改startup.bat內容,如下圖把start改為run;末行加多一個pause以免一閃而退。
--報錯日誌也可以檢視catalina.log檔案。我的報錯如下白色背景圖。
2、管理員執行cmd;
3、 輸入netstat -aon|findstr "8080" ,檢視佔用本埠的PID號;
4、輸入tasklist|findstr "5188",找到此PID號對應的程序;
5、輸入taskkill /f /t /im Tomcat8.exe, 幹掉此程序,Tomcat8.exe名稱根據實際情況填寫。
6、修改startup.bat回原來的設定;run-->start。
參考文章:https://blog.csdn.net/lgx521lgx5230/article/details/47293871
安裝了tomcat8,啟動時報異常關鍵異常資訊如下:
05-Aug-2015 09:33:55.290 SEVERE [main] org.apache.coyote.AbstractProtocol.init F
ailed to initialize end point associated with ProtocolHandler ["http-apr-8088"]
java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/?
??)????í??
at org.apache.tomcat.util.net.AprEndpoint.bind(AprEndpoint.java:471)
經查,埠8088已被佔用,查詢後解決辦法如下:
第一步:啟動CMD命令視窗
第二步:檢視指定端口占用情況,輸入命令:netstat -aon|findstr "8088"
結果顯示如下:
協議 本地地址 外部地址 狀態 PID
TCP 127.0.0.1:8088 0.0.0.0:0 LISTENING 5188
第三步:檢視PID對應的程序,輸入命令:tasklist|findstr "5188"
結果顯示如下:
映像名稱 PID 會話名
會話# 記憶體使用
========================= ======== ================
Tomcat8.exe 5188 Console 0 16,064 K
第四步:結束程序,輸入命令:taskkill /f /t /im Tomcat8.exe
問題解決。
===============
引起這個問題的原因是tomcat安裝後,tomcat後臺服務會開機自動啟動,再手動啟動tomcat的時候就會異常,所以需要把開機啟動刪除(360工具等可以解決)。