2012-08-12 10 views
10

Używam tomcat 6 na Centos 6.4 i rozpocząłem to z powodzeniem. Na początku nie wystąpiły żadne błędy. catalina.log brzmi:Tomcat uruchamia się bez błędów, ale nie nasłuchuje na 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 

I ps -x pokazuje, że działa.

Niestety nie odpowiada na porcie 8080, a netstat -atnp | grep LISTEN go nie wymienia.

Jakieś pomysły na to, co może to spowodować?

+2

Hi - fakt, że „netstat -atnp” nie wykazuje słuchacza dla portu 8080 niestety nic nie znaczy. PROPOZYCJA: Wypróbuj "telnet localhost 8080", a następnie "GET/HTTP/1.1" i kilka razy naciśnij "ENTER". Sprawdź, czy się łączysz. Sprawdź, czy otrzymasz odpowiedź od Tomcat. I sprawdź dwukrotnie swoje dzienniki Apache (* nie * Tomcat). – paulsm4

+0

'telnet localhost 8080' nie działa z' odmową połączenia'. 'telnet 8080' zwraca rzeczy lokalnie, ale nie zdalnie. – nash

Odpowiedz

8

Jeśli problem jest, że port nie jest skonfigurowany w iptables jak Nash sugeruje, można go skonfigurować w następujący sposób:

vi /etc/sysconfig/iptables 

dodać następującą linię do pliku:

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

zapisz plik przy wyjściu i uruchom ponownie iptables:

service iptables restart 
0

Było iptables blokujące port ...

Szybkim sposobem rozwiązania tego problemu jest wyłączenie z iptables:

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

Ogólnie iptables powinna być włączona, ale skonfigurowane tak, aby otworzyć porty potrzebne . Wyłączenie go bez użycia zamiennika jest złą praktyką.

W moim przypadku maszyny nie robiły nic wrażliwego i znajdowały się w sieci wewnętrznej bez dostępu do Internetu, więc wyłączenie iptables było wystarczająco dobre.

6

Odpowiedź @alfasin jest poprawna, b ut dla CentOS 6 linia COMAND dół nie działać

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

Trzeba bezpłatny łańcuch jeden za drugim, ten tryb:

-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

To zadziałało dla mnie – Soufas

Powiązane problemy