Ich bin ein Neuling in Java und versuche, eine Webanwendung zu entwickeln. Ich habe Windows 7 32 Bit. Ich habe Java 7 installiert und auch den Pfad und den Klassenpfad eingestellt. Danach habe ich Tomcat 7 installiert.
Wenn ich versuche, die Tomcat-Homepage mit der URL localhost:8080
zu öffnen, wird sie nicht geöffnet und Tomcat stoppt automatisch.
Bitte hilf mir.
Stellen Sie sicher, dass keine andere Anwendung Port 8080 verwendet, bevor Sie Tomcat starten. Wenn dies nicht das Problem ist, fügen Sie bitte das Tomcat-Protokoll ein.
Wenn Sie den Standardport von Tomcat ändern möchten, wechseln Sie zum Tomcat-Ordner und öffnen Sie den Ordner conf
, in dem Sie server.xml
sehen. In dieser Datei sehen Sie etwas wie <Connector port=
. Ändern Sie den Portwert und starten Sie Tomcat.
Wenn Sie Tomcat über Eclipse gestartet haben, kann es auch auf verschiedene Arten gelöst werden.
Methode 1:
Ihr Problem betrifft nicht Port 8080
, sondern Port 8005
. Port 8005
ist der Shutdown-Port für Tomcat.
Anstatt herauszufinden, was Port 8005
verwendet, ist es möglicherweise einfacher, Tomcat_DIR/conf/server.xml
zu bearbeiten und den Shutdown-Port in 8006
zu ändern
<Server port="8006" shutdown="SHUTDOWN">
Bei * Unix-basierten Systemen können Sie die von einer bestimmten Anwendung verwendeten Ports überprüfen, indem Sie den folgenden Befehl im Terminal ausgeben
[~/.]$ netstat -tuplen
Sie erhalten eine Liste aller Ports, die derzeit von ihren jeweiligen Prozess-IDs gehalten und verwendet werden
Geben Sie für Windows-Benutzer netstat -an
in Eingabeaufforderung ein, um die abhörenden Ports anzuzeigen.
Wenn Sie Ihren Tomcat gestartet haben (in Linux überprüfen Sie mit ps -ef | grep Java
) und Sie sehen, dass der Port 8080 oder der von Ihnen in server.xml konfigurierte Port geöffnet wurde (überprüfen Sie mit netstat --tcp -na | grep <port number>
), aber Sie können in Ihrem Browser immer noch nicht darauf zugreifen:
logs/catalina.out
. Sie sollten etwas davon sehen, wenn der Server vollständig gestartet wurde .INFO [main] org.Apache.catalina.startup.Catalina.start Server startup in 38442 ms
SecureRandom
-Klasse verursacht werden, die für das Bereitstellen zufälliger Sitzungs-IDs verantwortlich ist, und die zu erheblichen Verzögerungen beim Start führen kann ..__ Weitere Informationen und die Lösung hier .iptables -L -n
): Sie können versuchen, Ihre Firewall iptables -F
vollständig zurückzusetzen, wenn Sie sich nicht in einer exponierten Umgebung befinden. Achten Sie jedoch darauf, dass Sie keinen Schutz haben, daher kann es gefährlich werden.selinux
(wenn Sie mit Linux arbeiten).Dies sind einige der am meisten vergessenen und nicht offensichtlichen Probleme bei der Inbetriebnahme von Apache Tomcat.
Mein Problem wurde behoben. Ich wurde wie folgt protokolliert.
SEVERE: StandardServer.await: create [localhost: 8005]: Java.net.BindException: Angeforderte Adresse kann nicht zugewiesen werden: JVM_Bind
Mein Tomcat-Server wurde automatisch angehalten, als ich versuchte, die Tomcat-Homepage mit der URL Zu öffnen.
Also habe ich nur ein paar Änderungen in Windows-> System32-> Treibern-> etc-> Host-Datei vorgenommen Nur 127.0.0.1 localhost behalten und alle anderen entfernen. Ihr Problem wird gelöst. Vielen Dank für Ihre Hilfe: D
Ich benutze Eclipse Java EE IDE for Web Developers. Version: Oxygen.1a Release (4.7.1a) in Windows 8.1 x64
mit Apache Tomcat 8.5.24
(zu Testzwecken).
Port Name & Numbers für meinen Tomcat Server sind:
Tomcat-Administrator-Port: 8005 HTTP/1.1: 8081 (meine Tomcat-Listening-Port-Nummer) AJP/1.3: 8009
Menschen, für die der Tomcat früher gut lief, und sometimes
plötzlich nach stopping Tomcat server
explizit durch Drücken der unten gezeigten Bildschaltfläche oder aus anderen Gründen.
Either
Sie konnten den Tomcat mit folgendem Fehler nicht immer start/restart
:
Server Tomcat vX.Y Server bei localhost konnte nicht gestartet werden.
or
manchmal das Tomcat Server is started
aber anstatt Tomcat Homepage
Im Webbrowser wird eine Client-Ausnahme HTTP Status 404 – Not Found.
im bevorzugten Webbrowser ausgelöst.
möglicherweise gibt es viele Gründe: Falscher Host name
definiert, Falscher Tomcat Server Locations
in Eclipse definiert, Versionskonflikt zwischen JDK/JRE
und Projekt, Versionskonflikt zwischen Tomcat JRE dependent version
und maven.compiler.source
aufgrund von Versionskonflikt zwischen maven.compiler.target
nicht definiert unter dem Eigenschaftstag Versionskonflikt der Projektfacet Dynamic Web Module auf 2.5/3.0 , Tomcat Server wird manchmal auf Windows Services-Ebene ausgeführt, die zuvor angehaltene Tomcat-Portnummer wurde noch überwacht und der processing pid
wurde in der von Tomcat definierten Zeitspanne nicht beendet Timeouts Stop (in seconds): 15(by default)
in Eclipse und pid
wird noch ausgeführt. Start in definiertem Start (in seconds): XX
usw. fehlgeschlagen.
Hier gebe ich die Lösung an, wie man den processing pid
der laufenden bestehenden Tomcat-Portnummer überprüft und beendet (Vorsicht, Sie müssen mit After Effects vertraut sein).
Öffnen Sie unter Windows die Eingabeaufforderung und führen Sie die folgenden Schritte aus (mein Tomcat-HTTP-Port ist 8081):
netstat -ano | findstr: 8081 TCP 0.0.0.0:8081 0.0.0.0:0 LISTENING 2284 TCP [::]: 8081 [::]: 0 LISTENING 2284
wenn ein Listening vorhanden ist, listet der obige Befehl Details zum Port-Listening zusammen mit processing pid
am Ende der Zeile auf (hier ist die PID 2284).
töte jetzt die laufende pid wie:
taskkill/PID 2284/F[.____.‹SUCCESS: Der Vorgang mit PID 2284 wurde abgebrochen.
die beiden obigen Schritte sind auch folgendermaßen dargestellt:
Starten Sie nun nach dem Lösen des oben dargestellten Grunds den Tomcat Server
.
Ich hatte das gleiche Problem. Mein Tomcat wurde gestartet, aber es wurde keine HTTP 404-Seite gefunden. In meiner Situation installierte ich jedoch Bauminstanzen von Tomcat. Jede Instanz enthält die Ordner conf, temp, work, webapps und logs. Wenn ich nicht vergessen habe, die globale web.xml in den conf-Ordner jedes Tomcat zu kopieren.
e.g: /opt/Tomcat/mytomcatInstance/conf/web.xml
In der Datei für die Deployment-Beschreibung von web.xml wird beschrieben, wie eine Webanwendung in einem Servlet-Container bereitgestellt wird.
Selbst wenn mein Tomcat aktiv war, konnten meine Web-Apps nicht ordnungsgemäß bereitgestellt werden.
Für Mac-Benutzer
Versuchen Sie es zuerst: Gehen Sie zum Aktivitätsmonitor -> Suche nach Java und beenden Sie die Instanz, starten Sie den Server neu und versuchen Sie es.
Zweiter Versuch: Überprüfen Sie die Protokolldatei im Tomcat-Protokollordner auf Fehler.
Verwenden Sie den folgenden Befehl, um die Tomcat-Protokolle im Terminal zu überprüfen
tail -f {tomcatpath}/logs/catalina.out
Dritter Versuch: Überprüfen Sie, ob der Knoten oder andere Apps denselben Port verwenden. Verwenden Sie den folgenden Befehl, um zu prüfen, welche App einen bestimmten Port überwacht. In der zweiten Spalte wird eine Liste der Apps mit pid angezeigt.
lsof -i :8080 | grep LISTEN
Beenden Sie den Vorgang mit dem folgenden Befehl
Sudo kill -9 pid
1) Wechseln Sie mit Terminal (Linux) zum Ordner Apache-Tomcat-Verzeichnis/bin.
2) Geben Sie ./catalina.sh start
ein.
Um Tomcat zu stoppen, geben Sie ./catalina.sh
stop aus dem Ordner bin ein. Aus irgendeinem Grund funktioniert ./startup.sh
manchmal nicht.
Die Probleme können aufgrund eines Speicherproblems auftreten
bitte überprüfen Sie die Protokolldatei auf etwaige Probleme mit der Hardware (Speicher).
Suchen Sie im Tomcat-Verzeichnis/logs/catalina.out nach den Protokollen. Wenn die Protokolle zu lang sind, löschen Sie die Datei catalina.out und führen Sie die App erneut aus.