Es kann keine Verbindung zu localhost über den Browser hergestellt werden. Kann localhost pingen

11

Ich versuche, localhostüber meinen Browser eine Verbindung herzustellen, um etwas über Apache Tomcat zu lernen.

Als ich versuchte, über Firefox eine Verbindung zu localhost herzustellen, konnte ich nicht; Als ich es über Internet Explorer versuchte, konnte ich das erste Mal, aber nicht danach.

Ich verwende Windows 7 und habe die Hosts-Datei so geändert, dass sie auf localhost verweist 127.0.0.1. Ich kann erfolgreich localhost und pingen 127.0.0.1.

Ich habe versucht, mein Antivirenprogramm und meine Windows-Firewall auszuschalten, aber ohne Erfolg.

Was mache ich falsch?

Zepter
quelle
Zeigen Ihre Apache-Protokolle an, dass die Verbindungsanforderung sogar zum httpd-Daemon gelangt?
Ian C.
Ich bin mir nicht sicher und weiß nicht, wie ich es überprüfen soll. Tomcat scheint gemäß den Catalina-Protokollen einwandfrei zu starten, abgesehen von ein paar Zeilen "Kann die mit dem Schlüssel verknüpfte Nachricht nicht finden ...", die kein Problem darstellen sollen, und ich erhalte die Meldung "Serverstart in 2421 ms" Ich denke, zeigt an, dass ich eine gute Verbindung habe.
Zepter
tomcat wird wahrscheinlich als java.exe in Ihrer Prozessliste ausgeführt, übrigens.

Antworten:

6

Ihr Problem liegt in Ihren Tomcat- und Apache-Konfigurationen.

Wenn Sie localhostin Internet Explorer eingeben, wird automatisch davon ausgegangen, dass Sie eine Verbindung zu Port 80 herstellen.

Sie müssen sicherstellen, dass Apache für die Arbeit mit Tomcat richtig konfiguriert ist.

Sie können Ihren Tomcat-Server auch ausprobieren, indem Sie eine Verbindung herstellen zu:

 http://localhost:portNumber 

Fügen Sie nach einem Doppelpunkt die Portnummer hinzu, für die Sie TomCat konfiguriert haben. Versuchen Sie http://localhost:8080zunächst.

akseli
quelle
Wollte dasselbe sagen, aber das passt nicht dazu, dass es zum ersten Mal im IE funktioniert und dann nicht mehr funktioniert. Es sei denn, das Installationsprogramm hat die Seite nach Abschluss automatisch geöffnet.
Ciaran
Hallo Akseli. Ich hätte erwähnen sollen, dass ich bereits localhost: 8080 und localhost: 80 in beiden Browsern ausprobiert habe .
Zepter
Außerdem zeigt der Connector-Port für tomcats server.xml auf 8080.
Zepter
Können Sie über die Eingabeaufforderung auf Port 8080 telneten?
Ciaran
1
Hallo Ciaran. Das glaube ich nicht. Wenn ich "telnet localhost 8080" eingebe, erhalte ich die Meldung "Verbindung zu localhost herstellen ... Verbindung zum Host auf Port 8080 konnte nicht hergestellt werden: Verbindung fehlgeschlagen"
Scepter
1

Führen tasklistSie die Eingabeaufforderung aus und notieren Sie sich die Prozess-ID für Tomcat

Führen netstat -noaSie die oben angegebene Prozess-ID aus und suchen Sie sie. Die 2. Spalte sollte Ihnen so etwas zeigen 0.0.0.0:xxxxx. Wenn hier ein Eintrag für die Prozess-ID für Tomcat vorhanden ist, wartet Tomcat definitiv ordnungsgemäß auf Verbindungen. Wenn nicht, ist Tomcat defekt und Sie müssen es möglicherweise neu installieren oder in die Tomcat-Protokolle eintauchen (da es zu laufen scheint, aber nicht richtig zuhört).

Möglicherweise gibt es einige Einträge für die Prozess-ID, die jeweils einen anderen Port angeben. Probieren Sie sie alle aus, denn ich glaube, Sie können in Tomcat einen Port an einen anderen weiterleiten.

Ciaran
quelle
Wenn ich tasklist ausführe, sehe ich nichts über Tomcat oder Apache, aber bei Verwendung von netstat sehe ich, dass einige Ports einen LISTENING-Status haben, aber dass 127.0.0.1:8080 und 127.0.0.1:80 überhaupt nicht in der Liste enthalten sind Ich gehe also davon aus, dass diese Ports nicht lauschen. Ich habe dann versucht, 127.0.0.1:8080 und 127.0.0.1:80 zu pingen, und das kommt nicht zurück, während 127.0.0.1 dies tut. Habe ich die 80- und 8080-Ports irgendwie ausgeschaltet?
Zepter
Wenn Sie nichts über Tomcat oder Apache sehen, werden diese wahrscheinlich nicht ausgeführt oder haben möglicherweise einen anderen Prozessnamen. Wenn Sie Windows Vista oder Windows 7 verwenden, können Sie stattdessen den Task-Manager öffnen, auf die Registerkarte Dienste klicken, mit der rechten Maustaste auf den Apache / Tomcat-Dienst klicken und auf Zur Verarbeitung gehen klicken (nur verfügbar, wenn der Dienst tatsächlich ausgeführt wird). Sie können die Prozess-ID von dort abrufen, wenn die Spalte sichtbar ist. Wenn nicht, gehen Sie zu Ansicht> Spalten auswählen ...> Aktivieren Sie das Kontrollkästchen PID
Ciaran
Sie können keine Adresse mit einer Portnummer am Ende anpingen. Mit Telnet können Sie herausfinden, ob der Port empfangsbereit ist. Ich bin überzeugt, dass Apache / Tomcat übrigens nicht wirklich läuft, wenn es nicht in der Aufgabenliste steht
Ciaran
Ich werde Tomcat neu installieren und sehen, ob das etwas bewirkt.
Zepter
Konnten Sie überprüfen, ob im Task-Manager ein Prozess dafür vorhanden war?
Ciaran