Windows下Tomcat報端口被佔用問題
平時都好好的tomcat,今天突然報出來Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
這個,有以下幾種解決方案:
1、端口被佔用,可以用cmd(window+R)
第一步:輸入netstat -ano
也可以輸入netstat -aon|findstr "端口號"
第二步:tasklist|findstr "查詢出的 listening",剛剛查詢的是7912
第三步:taskkill /f /t /im 查詢出佔用程序名稱
可以看到8080的進程被kill了。
2、Eclipse非正常關閉,可以打開任務管理器,結束“javaw.exe”這個進程。
3、也可以修改tomcat的端口號:tomcat目錄/conf下server.xml
用文本格式打開,將其中的8080端口修改成8888或者其他
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
4、若以上方法都不好使,那麼恭喜你,跟我一樣。找到tomcat目錄/bin下,運行startup.bat開啓tomcat(linux運行 startup.sh 也可先運行下shutdown.bat關閉tomcat),若出現:
Unrecognized Windows Sockets error: 10106:create這個錯誤
注意eclipse的tomcat裏不能爲空,需添加項目纔有此錯誤
解決這個問題:
第一步:以管理員身份打開命令提示符
第二步:輸入 netsh winsock reset
第三步:重啓電腦就可以了
詳細:用管理員運行cmd,則是開始-附件-命令提示符-右鍵-以管理員身份運行
若出現拒絕訪問,則關閉系統所有殺毒軟件,再輸入netsh winsock reset
成功則是:
“netsh winsock reset”指令,會把底層傳輸協議無關的高層數據傳輸編程接口恢復到默認狀態。
1、netsh winsock reset命令,是計算機的一條指令,作用是重置 Winsock 目錄。這個命令可以重新初始化網絡環境,以解決由於軟件衝突、病毒原因造成的參數錯誤問題。
2、Winsock是Windows網絡編程接口,reset是對Winsock的重置操作。
3、netsh是一個能夠通過命令行操作幾乎所有網絡相關設置的接口,比如設置IP,DNS,網卡,無線網絡等。