Tomcat启动时没有错误,但没有收听8080

问题描述:

我在Centos 6.4上运行tomcat 6,并且已经开始成功。开始时没有错误。 catalina.log阅读:Tomcat启动时没有错误,但没有收听8080

2012-08-11 14:23:42,941 | INFO | main | o.a.c.http11.Http11NioProtocol | Starting Coyote HTTP/1.1 on http-xx.xx.xx.xx-8080 
2012-08-11 14:23:42,960 | INFO | main | o.a.catalina.startup.Catalina | Server startup in 121483 ms 

ps -x显示它正在运行。

不幸的是,它没有响应端口8080然而netstat -atnp | grep LISTEN没有列出它。

什么可能会导致此问题的任何想法?

+2

嗨 - 即“netstat的-atnp”不显示监听的事实对于港口8080,不幸的是,没有任何意义。建议:尝试“telnet localhost 8080”,然后选择“GET/HTTP/1.1”,然后点击“ENTER”几次。看看你是否连接。看看你是否得到Tomcat的回应。并仔细检查你的Apache(*非* Tomcat)日志。 – paulsm4 2012-08-12 03:22:40

+0

'telnet localhost 8080'因连接被拒绝而失败。 'telnet 8080'不会在本地返回,但不会远程返回。 – nash 2012-08-12 04:21:04

如果问题是,端口未在iptables的配置像纳什暗示,那么你就可以按照如下步骤进行设置:

vi /etc/sysconfig/iptables 

以下行添加到文件:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 

保存退出时的文件并重启iptables:

service iptables restart 

这是iptables的阻塞端口...

一个快速的方法来解决这个问题是关闭iptables在:

/etc/init.d/iptables save 
/etc/init.d/iptables stop 

一般的iptables应该启用,但配置为打开所需要的端口。关闭而不使用替换是一种不好的做法。

在我的情况下,机器没有做任何敏感的事情,并且在没有互联网访问的内部网络上,所以关闭iptables足够好。

@alfasin的答案是正确的,b UT为CentOS 6 COMAND线下来不行

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 

您可以通过一个需要*链中的一个,该模式:

-I INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 
-I OUTPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 
-I FORWARD -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 
+0

这对我有效 – Soufas 2015-02-05 11:26:02