簡體   English   中英

tomcat 正在運行,但是 8080 端口沒有響應

[英]tomcat running ,but 8080 port not responding

我已經通過 ssh 在 linux x64 機器上安裝了 sun jdk 1.6 x64 和 tomcat,我沒有 root 權限,所以我都安裝在我的家庭目錄中。

我設法成功運行了 tomcat,但是如果我嘗試輸入 mydomain.com:8080,則服務器沒有響應。

使用此命令:

netstat -atnp|grep LISTEN

我檢查了端口,它正在偵聽

Dec 18, 2011 5:11:20 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /home2/fiegmund/jdk1.6.0_25/jre/lib/amd64/server:/home2/fiegmund/jdk1.6.0_25/jre/lib/amd64:/home2/fiegmund/jdk1.6.0_25/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Dec 18, 2011 5:11:21 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
Dec 18, 2011 5:11:21 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Dec 18, 2011 5:11:21 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2015 ms
Dec 18, 2011 5:11:21 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Dec 18, 2011 5:11:21 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.23
Dec 18, 2011 5:11:21 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/apache-tomcat-7.0.23/webapps/docs
Dec 18, 2011 5:11:24 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [1,869] milliseconds.
Dec 18, 2011 5:11:24 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/apache-tomcat-7.0.23/webapps/manager
Dec 18, 2011 5:11:24 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/apache-tomcat-7.0.23/webapps/ROOT
Dec 18, 2011 5:11:24 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/apache-tomcat-7.0.23/webapps/examples
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql_rt is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/sql is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core_rt is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/permittedTaglibs is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://jakarta.apache.org/taglibs/standard/scriptfree is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/xml is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/xml_rt is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/sql is already defined
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home2/fiegmund/apache-tomcat-7.0.23/webapps/host-manager
Dec 18, 2011 5:11:25 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
Dec 18, 2011 5:11:25 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Dec 18, 2011 5:11:25 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4582 ms>

任何想法是什么問題?

預先感謝並為我寫的糟糕的英語感到抱歉。

第一步是在本地登錄時運行 telnet localhost 8080 。 然后輸入類似的東西

GET /

你應該找回 HTML。 如果這不起作用,則 tomcat 沒有真正正常運行或未在端口 8080 上偵聽。如果可行,但從外部嘗試時,請確保您擁有正確的 IP 地址。 先用ip地址試試。 如果 ip 地址有效,可能您的 mydomain.com 無法解析它。 如果 ip 正確(與您正在使用的 ssh 相同)並且它仍然不起作用,那么您可能正在運行不允許 8080 通過的防火牆。 更改防火牆配置需要 root 訪問權限。

我的問題是我的 Tomcat 開始只監聽 IPv6。 把它放在這里以防其他人發現同樣的事情。

我能夠得到適當的回應

curl -g -6 "http://[::1]:8080/"

但不是本地主機。 為了解決這個問題,我從 conf/server.xml 中刪除了address屬性:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" URIEncoding="UTF-8" />
           address="0.0.0.0" />

並重新啟動,它再次綁定到 IPv4。 我知道它應該是相反的,但這就是為我修復它的原因。 操作系統是 Ubuntu。

嘗試在 linux 終端 TCP IP 和端口引用上使用以下命令列出應用程序,如“java”,如下所示。

[root@h5 ~]# netstat -ltnp | grep java -i --colour 
tcp        0      0 10.15.11.20:9990    0.0.0.0:*               LISTEN      1626/java           
tcp        0      0 10.15.11.20:8080    0.0.0.0:*               LISTEN      1626/java           
tcp        0      0 10.15.11.20:8443    0.0.0.0:*               LISTEN      1626/java 
   

首先,您需要檢查防火牆的開放端口。

firewall-cmd --list-ports

如果它是打開的並且端口不存在,請允許相關的端口 8080 如下。

firewall-cmd --permanent --zone=public --add-port=8080
firewall-cmd --reload

在 CentOs 上我必須手動打開防火牆

sudo firewall-cmd --zone=public --add-port=7999/tcp --permanent
sudo firewall-cmd --reload

不知道如何,但如果 Docker 在同一個端口上運行一個容器,它會自動打開防火牆,所以讓我失望

在war部署的情況下,如果war文件有錯誤,tomcat可能無法解壓war文件。 確保在 tomcat//libexec/webapps 中創建了一個與 war 文件同名的文件夾,否則 localhost:8080 會卡住。

如果部署的應用程序之一太慢而無法初始化,Tomcat 可能會太慢而無法啟動。 當您啟動 Tomcat 時,您可以看出這是這種情況,但瀏覽器說服務器沒有響應,即使您可以看到端口正在偵聽(通過使用 telnet 連接)。 另請注意,您的 CPU 使用率可能過高。 就我而言,這是因為我在記錄器上啟用了 TRACE 模式。

您可以嘗試通過運行來確認服務器的狀態:

 lsof -i :8080

關閉 IDE。 如果您使用的是 Windows 系統,請重新啟動進程 java.exe。 然后啟動IDE。

暫無
暫無

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

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