![](/img/trans.png)
[英]Cannot open http://localhost:8080/ when Tomcat is running in Eclipse
[英]Tomcat starts but home page cannot open with url http://localhost:8080
我是 Java 新手,正在嘗試開發 Web 應用程序。 我有 Windows 7 32 位。 我已經安裝了 Java 7 並設置了路徑和類路徑。 之后我安裝了Tomcat 7。
當我嘗試使用 URL localhost:8080
打開 tomcat 主頁時,它不會打開並且 Tomcat 會自動停止。
請幫我。
在啟動 tomcat 之前確保沒有其他應用程序使用端口 8080。 如果這不是問題,請粘貼 tomcat 日志。
如果你想改變tomcat的默認端口,進入tomcat文件夾,打開conf
文件夾,在里面可以看到server.xml
。 在該文件中,您可以看到類似<Connector port=
。 更改端口值並啟動tomcat。
您的問題不在於端口8080
,而在於端口8005
。 8005
端口是 Tomcat 的關閉端口。
與其試圖找出使用端口8005
,不如編輯TOMCAT_DIR/conf/server.xml
並將關閉端口更改為8006
可能更容易
<Server port="8006" shutdown="SHUTDOWN">
對於基於 *Unix 的系統,您可以通過在終端中發出以下命令來檢查特定應用程序使用的端口
[~/.]$ netstat -tuplen
您將獲得當前由各自進程 ID 持有和使用的所有端口的列表
1) 使用終端(在 Linux 上),轉到 apache-tomcat-directory/bin 文件夾。
2) ./catalina.sh start
3) 要停止 Tomcat, ./catalina.sh stop
從bin文件夾中鍵入./catalina.sh stop
。 由於某種原因./startup.sh
有時不起作用。
對於 Windows 用戶,在命令提示符下鍵入netstat -an
以查看正在偵聽的端口,這可能會派上用場。
對於 Mac 用戶
首先嘗試:轉到活動監視器-> 搜索 java 並終止實例,然后重新啟動服務器並嘗試。
第二次嘗試:檢查 tomcat 日志文件夾下的日志文件是否有任何錯誤。
使用以下命令在終端中檢查 tomcat 日志
tail -f {tomcatpath}/logs/catalina.out
第三次嘗試:檢查節點或其他應用程序是否使用相同的端口。 使用以下命令檢查哪個應用程序偵聽特定端口。 您將在第二列中看到帶有 pid 的應用程序列表。
lsof -i :8080 | grep LISTEN
使用以下命令終止進程
sudo kill -9 pid
我的問題已經解決。我得到的日志如下。
嚴重:StandardServer.await:create[localhost:8005]:java.net.BindException:無法分配請求的地址:JVM_Bind
當我嘗試使用 URL 打開 tomcat 主頁時,我的 tomcat 服務器自動停止。
所以我只是在 windows->System32->drivers->etc->host 文件中做了一些更改。 僅保留 127.0.0.1 localhost 並刪除所有其他內容。 你的問題將得到解決。 謝謝大家的幫助:D
如果您啟動了 tomcat(在 linux 中使用ps -ef | grep java
檢查)並且您看到它打開了端口 8080 或您在 server.xml 中配置的端口(使用netstat --tcp -na | grep <port number>
) 但您仍然無法在瀏覽器中訪問它,請檢查以下內容:
logs/catalina.out
。 當服務器完全啟動時,您應該會看到類似的內容。INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 38442 ms
SecureRandom
類負責提供隨機會話 ID,這可能會導致啟動過程中出現很大的延遲。 在此處查看更多詳細信息和解決方案。iptables -L -n
):如果您沒有進入暴露環境,您可以嘗試完全重置您的防火牆iptables -F
。 但是,請注意,這會使您沒有保護,因此可能很危險。selinux
(如果您使用的是 linux)。這些是在啟動和運行 Apache Tomcat 過程中最容易被遺忘且不明顯的一些問題。
我正在Eclipse Java EE IDE for Web Developers. Version: Oxygen.1a Release (4.7.1a) in Windows 8.1 x64
使用Eclipse Java EE IDE for Web Developers. Version: Oxygen.1a Release (4.7.1a) in Windows 8.1 x64
Eclipse Java EE IDE for Web Developers. Version: Oxygen.1a Release (4.7.1a) in Windows 8.1 x64
和Apache Tomcat 8.5.24
(用於測試目的)。
我的 Tomcat 服務器的端口名稱和編號是:
Tomcat admin port : 8005 HTTP/1.1 : 8081 (my Tomcat Listening Port Number) AJP/1.3 : 8009
人們,對於那些Tomcat運行良好的人, sometimes
在通過按下下面顯示的圖像按鈕明確stopping tomcat server
后sometimes
突然或可能是其他原因。
Either
他們一直無法start/restart
tomcat,並出現以下錯誤:
服務器 本地主機上的 Tomcat vX.Y 服務器無法啟動。
or
有時Tomcat Server is started
但不是在 Web 瀏覽器中顯示Tomcat Homepage
,而是拋出客戶端異常HTTP Status 404 – Not Found.
在首選的網絡瀏覽器中。
可能有很多原因,即Host name
定義錯誤、Eclipse 中定義的 Tomcat Server Locations
錯誤、項目JDK/JRE
版本與Tomcat JRE dependent version
版本不匹配、maven 項目版本不匹配由於maven.compiler.source
和maven.compiler.target
版本未在屬性標簽下定義,項目方面動態 Web 模塊的版本與 2.5/3.0 不匹配,有時 Tomcat 服務器在 Windows 服務級別上運行,之前停止的 Tomcat 端口號仍在偵聽,並且processing pid
在 Tomcat 定義的時間跨度Timeouts Stop (in seconds): 15(by default)
中未被Timeouts Stop (in seconds): 15(by default)
in eclipse and pid
still running, failed to start in defined Start (in seconds): XX
等。
在這里我將給出解決方案,如何檢查並殺死正在運行的現有Tomcat端口號的processing pid
(注意,您必須注意后遺症)。
在 Windows 中,打開命令提示符,然后按照步驟操作(我的 tomcat HTTP 端口是 8081):
netstat -ano | findstr :8081 TCP 0.0.0.0:8081 0.0.0.0:0 LISTENING 2284 TCP [::]:8081 [::]:0 LISTENING 2284
如果有任何監聽,上面的命令將在行的最后列出端口監聽的詳細信息以及processing pid
(這里的 pid 是 2284)。
現在殺死正在運行的pid,如:
taskkill /PID 2284 /F SUCCESS: The process with PID 2284 has been terminated.
還說明了上述兩個步驟,如下所示:
現在,解決上述原因后,啟動Tomcat Server
。
我遇到過同樣的問題。 我的 tomcat 已啟動,但未找到 HTTP 404 頁面。但是,在我的情況下,我安裝了 tomcat 的樹實例。 每個實例都包含 conf、temp、work、webapps 和 logs 文件夾。 除非我忘了,把全局的web.xml 復制到每個tomcat 的conf 文件夾下。
e.g: /opt/tomcat/mytomcatInstance/conf/web.xml
web.xml 部署描述符文件描述了如何在 servlet 容器中部署 Web 應用程序。
因此,即使我的 tomcat 已啟動,我的網絡應用程序也無法正確部署。
由於內存問題,可能會發生問題。 java.lang.OutOfMemoryError:Java 堆空間
請驗證日志文件,任何與硬件(內存)相關的問題。
在 TomcatDirectory/logs/catalina.out 中查找日志。 如果日志太長,請刪除 catalina.out 文件並重新運行應用程序。
在我的情況下,tomcat 運行的端口是在 application.properties 文件中為 8000 定義的,而不是 8080。在我的情況下,它看起來與此處描述的問題相同。 只是留在這里以防萬一有人有類似的設置和問題! :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.