2012-08-12 12 views
10

Sto eseguendo tomcat 6 su Centos 6.4 e l'ho avviato con successo. Non c'erano errori all'inizio. catalina.log legge:Tomcat si avvia senza errori ma non si ascolta su 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 

E ps -x mostra come in esecuzione.

Sfortunatamente non risponde sulla porta 8080 tuttavia e netstat -atnp | grep LISTEN non lo elenca.

Qualche idea di cosa potrebbe causare questo?

+2

Hi - Il fatto che "-atnp netstat" non mostra un ascoltatore per la porta 8080, purtroppo, non significa nulla. SUGGESTIONE: prova "telnet localhost 8080", seguito da "GET/HTTP/1.1" e premi "INVIO" un paio di volte. Vedi se ti connetti. Vedi se ricevi una risposta da Tomcat. E ricontrolla i log di Apache (* not * Tomcat). – paulsm4

+0

'telnet localhost 8080' fallisce con' connessione rifiutata'. 'telnet 8080' restituisce le cose localmente ma non da remoto. – nash

risposta

8

Se il problema è che la porta non è configurata in iptables come suggerisce Nash, allora si può configurarlo come segue:

vi /etc/sysconfig/iptables 

aggiungere la seguente riga al file:

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

salva il file all'uscita e riavvia iptables:

service iptables restart 
0

Era iptables bloccano la porta ...

Un modo rapido per risolvere questo è quello di disattivare iptables con:

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

In generale iptables dovrebbe essere consentito ma configurato per aprire le porte necessarie . Spegnerlo senza usare una sostituzione è una cattiva pratica.

Nel mio caso le macchine non stavano facendo nulla di sensibile e si trovavano su una rete interna senza accesso a Internet, quindi spegnere iptables era abbastanza buono.

6

la risposta di @alfasin è corretta, b ut per CentOS 6 della linea di comando verso il basso non funziona

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

È necessario catena libera ad uno ad uno, questa modalità:

-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

Questo ha funzionato per me – Soufas