簡體   English   中英

Tomcat 啟動但主頁無法打開,網址為 http://localhost:8080

[英]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。

如果是通過eclipse啟動tomcat,也可以通過不同的方式解決。

方法一:

  1. 右鍵單擊服務器-> 屬性
  2. 單擊切換位置並應用。

在此處輸入圖片說明

在此處輸入圖片說明 方法二:

  1. 在 eclipse 中雙擊服務器。
  2. 將服務器位置更改為使用 tomcat 安裝(控制 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 stopbin文件夾中鍵入./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> ) 但您仍然無法在瀏覽器中訪問它,請檢查以下內容:

  1. 它可能會啟動,但會延遲 3-5 分鍾。 檢查logs/catalina.out 當服務器完全啟動時,您應該會看到類似的內容。
    INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 38442 ms
    如果您沒有此 INFO 行,您的服務器啟動還沒有完成。 出現此問題的原因可能是SecureRandom類負責提供隨機會話 ID,這可能會導致啟動過程中出現很大的延遲。 此處查看更多詳細信息和解決方案。
  2. 檢查您的防火牆(在 linux iptables -L -n ):如果您沒有進入暴露環境,您可以嘗試完全重置您的防火牆iptables -F 但是,請注意,這會使您沒有保護,因此可能很危險。
  3. 檢查您的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 x64Apache 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 serversometimes突然或可能是其他原因。

通過 Eclipse 標准工具欄按鈕顯式停止 Tomcat 服務器

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.sourcemaven.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.

還說明了上述兩個步驟,如下所示:

殺死正在運行的PID

現在,解決上述原因后,啟動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 文件並重新運行應用程序。

如果您使用 eclipse 啟動服務器,請檢查正在使用的服務器位置和部署路徑:

tomcat 服務器位置和部署路徑

在我的情況下,將其更改為Tomcat installation而不是workspace metadata對我有用。

在我的情況下,tomcat 運行的端口是在 application.properties 文件中為 8000 定義的,而不是 8080。在我的情況下,它看起來與此處描述的問題相同。 只是留在這里以防萬一有人有類似的設置和問題! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM