Tomcat Server nicht erreichbar

SyntaxTalksToMe

Bekanntes Mitglied
Guten Tag,

es ist mein erstes "technisches" Problem dieser Sorte und bitte um Entschuldigung, falls Informationen fehlen.
Ich habe mir einen vServer zugelegt. Mein Ziel ist es einen TomcatServer darauf anzusprechen. Allerdings ist dieser nichtt erreichbar.

Da steht im Browser Die Website ist nicht erreichbar ... hat die Verbindung abgelehnt.

Es muss aber einen anderen Grund als die Firewall haben, denn die ist aktuell geöffnet wie nen Scheunentor.

Was ich getan habe:

1.Ich habe mich nach diesem Tutorial gerichtet:
https://www.digitalocean.com/community/tutorials/install-tomcat-9-ubuntu-1804

2. Skript eingefügt:
2.PNG

3. Status überprüft:
1.PNG


4. Ich habe versucht den Server über die cmd versucht anzupingen. Dieser ist NICHT erreichbar gewesen. Zeitüberschreitung.


5. Im Webbrowser auf meinem Home PC hab ich http://meineIP:8080 eingegeben.



Ich hoffe mir kann jemand mit diesen dürftigen Informationen weiterhelfen.
 
Habs selbst gefunden. Trotzdem danke. In den Logs steht, dass java 1.11.0 openjdk-amd64 / bin/java nicht gefunden wurde.

Das hab ich schon gestern festgestellt. Dachte aber nicht, dass das was damit zu tun hat. Ich habe gestern, wie in dem Tutorial beschrieben, das jdk installiert. Allerdings als ich dann den Befehl Sinngemäß: update-alternatives -1 eingetippt hatte, wurde mir der obenjdk-amd64 nicht angezeigt.

3.PNG


Ich hatte aber gestern das openjdk installiert 🤨
 
Wenn ich mich in /usr/lib/jvm bewege, befindet sich dort die jdk

5.PNG

Das Skript habe ich dahingehend abgeändert:

Environment?JAVA_HOME=/usr/lib/jvm/1.11.0-openjdk-amd64

Leider hat es nichts gebracht. Was mich irritiert ist, dass er immer .....1.11.0-openjdk-amd64/bin/java aufrufen möchte.
 
Mach doch in dem Verzeichnis einmal ein ls - dann siehst Du, wie das Verzeichnis korrekt heisst.
Und dann kannst du einmal schauen, wo dieses JAVA_HOME falsch gesetzt wurde und dies dann richtig setzen.

Aus dem JAVA_HOME baut er nun einmal den Aufruf: $JAVA_HOME/bin/java und wenn JAVA_HOME falsch ist, ist der Aufruf auch falsch.
 
Danke dir für deine Antwort. Das was du geschrieben hast, hatte ich schon angefangen bevor du geschrieben hast. Daher kann ich sagen, dass da meines Erachtes einige Fehler im Pfad vorhanden waren.

Also.. Ich habe die Pfade für die JDK überprüft. Der Pfad lautet (letzte Zeile in der Grafik)
6.PNG

So.. Dieser Pfad muss ja mit dem, in dem Skript übereinstimmen. Diesen habe ich abgeändert. Und er sieht jetzt so aus:

8.PNG

Anschließend bin ich in das Tomcat Verzeichnis und habe den Server beendet und wieder gestartet. Allerdings als ich das Tomcat log wieder angeschaut habe, muss ich sehen, dass er schon wieder die java Datei nicht gefunden wird. Die sich aber an dem dem Pfad befindet..

9.PNG

Sorry, aber ich arbeite auch gerade das erste mal mit Linux. Offenbar übersehe ich etwas? 🙂
 
Ja, da hab ich einen Fehler drinnen.... Ich habe den Skriptpfad nochmal abgeändert. Könnte ja sein, dass ich da ein Fehler reingeschlichen hat. Allerdings hab ich jetzt das bin mal komplett weggemacht und es taucht trotzdem hier in den Logs auf. Ich dachte dieser Pfad in den Logs entspricht dem Pfad von JAVA_HOME dem ich in dem Skript angegeben habe.
 
Also das JAVA_HOME muss ohne das /bin angegeben werden.

Und dann bei den Aufrufen solltest du dann natürlich wieder Einträge mit /bin/java finden.

Die JAVA_HOME Variable gibt an, in welchem Verzeichnis Java installiert ist. Und da gehört ja einiges mehr dazu, also neben dem bin Verzeichnis mit den Executables auch das lib Verzeichnis und so.
 
Wie sieht denn jetzt die Datei aus und was kommt im Log genau? Und bitte nicht als Screenshots sondern kopier es ins Forum (einfach als Code posten).
 
Ich kann leider nichts aus dem kvm Fenster kopieren oder reinpasten. Ich greife auf einen vServer zu auf dem das kvm läuft. Da fehlt mir das Shared Clipboard.

So sieht das aktuelle Skript aus:
10.PNG

Aber guck mal. Da sind mehrere Dateien. Die einen sind blau, die anderen türkis. Kannst du mir sagen, was das bedeutet?

11.PNG

Update:

Der Browser war offen mit der Zieleingabe des Tomcat-Servers und hatte sich offenbar selbst geupdateted.
Jetzt habe ich statt der Meldung dass der Server die Verbindung blockiert hat, folgende Meldung bekommen:

Code:
 Exception Report

Message org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp

Beschreibung The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:605)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:423)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause

org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:198)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:414)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause

java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
    java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128)
    org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:59)
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:193)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:414)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)


Das neuste Tomcat-Log zeigt mir nun das an:

12.PNG


-
 
Also erst einmal Gratulation: Bezüglich Java hast Du den tomcat nun richtig konfiguriert.

Was die Farben beim ls angeht: Je nach Shell und Terminal-Unterstützung werden Dateien farblich gekennzeichnet:
a) Je nach Typ der Datei - in diesem Fall hast Du zum einen sogenannte symbolische Links und zum anderen Verzeichnisse. (Erkennbar an dem ersten Buchstaben: l = link, d = directory.)
b) Rechte können die Darstellung auch beeinflussen. Wenn eine Datei ausführbar ist, dann kann es auch angezeigt werden. (Das sind die 9 folgenden Zeichen, die 3 Blöcke a 3 Zeichen bilden und da mit "rwx" das Leserecht, Schreibrecht und die Ausführbarkeit angeben. (Oder wenn der Buchstabe nicht vorhanden ist, dann findet sich ein "-" als Zeichen. Das aber nur der ganz grobe Überblick, es gibt noch spezielle Flags wie setuid und setgid und so.....)

Was jetzt den Fehler angeht:
- Hast Du die Dependencies auch auf den Server kopiert, so dass er die findet? (Die können direkt in der App sein oder Du konfigurierst einen Library Ordner in den Du Dinge global kopieren kannst ....
- Unter welchem User läuft tomcat? Hat der User überall das Recht, auch zu lesen? Laut dem Startfile, soll der User tomcat benutzt werden. Ist das der User, dem die Dateien und Verzeichnisse gehören? Ein Typischer Fehler könnte sein, dass Du mit einem User (z.B. root) die Konfiguration und so gemacht hast und daher Dateien und Ordner root gehören...

Also in kurz: Abhängigkeiten fehlen oder können nicht gelesen werden.
 
Ich glaub ich setz das ganze Teil nochmal auf. So komme ich nicht weiter.
Wenn Du einen anderen Weg gehen möchtest als bisher: Ok, das kann ein Versuch wert sein (Also z.B. alles aus Paketen der Distribution installieren. /opt sieht nach manueller Installation aus ....)

Wenn Du aber den gleichen Weg erneut gehen willst, dann dürfte das Ergebnis das Gleiche sein, es sei denn Du hast Fehler erkannt, die das Problem ggf. verursacht haben könnten ....

Wenn es an Ownership und so scheitern sollte, dann wäre evtl. etwas wie
sudo chown -R tomcat /opt/tomcat
ein Versuch wert.
Dadurch gehört dann /opt/tomcat mit allen Dateien und Unterverzeichnissen dem user tomcat.
 
Das mit dem chown hatte ich eigetnlich gemacht. Das war ebenfalsl bestandteil des Tutorials. Was ich festgestellt habe, ist, dass es in jedem Tutorial immer etwas anders gemacht wird.

Könntest du mir sagen, wie ich von meinem Windowsrechner in das KVM des virtuellen Servers etwas reinkopieren kann? Das nervt dass Skript abzuschreiben 🙂
 
Wie verbindest Du Dich denn mit dem KVM? Machst Du da eine ssh Verbindung direkt in die VM, oder? Was nutzt Du? Hast Du eine openssh Version unter Windows das Du im Windows Terminal nutzt? Oder einen SSH Client wie Putty?

Generell haben sowohl Windows Terminal als auch Putty ein einfaches Copy & Paste. Je nach Windows Version hast Du das direkt aktiviert (Quick Edit Modus nennt sich das), dann kannst Du direkt markieren mit der linken Maustaste. Kopieren wäre rechte Maustaste so etwas markiert ist oder Return Taste und Einfügen ist ebenfalls rechte Maustaste so halt nichts markiert ist.
Ist QuickEdit nicht aktiviert, dann musst Du immer über das Icon oben links gehen und da das Bearbeiten Untermenü nutzen (Da finden sich auch die Shortcuts so welche gesetzt sind).

Ansonsten kannst Du Dateien aber auch hin und her kopieren. SSH hat dazu das scp (bzw. bei Putty wäre es das pscp.exe). Das geht sehr gut, wenn man z.B. seinen Key hinterlegt hat. Dann sind das einfache, kurze Aufrufe.
 
Okay....Ich hab den Fehler gefunden.

Es war wohl die falsche jdk.. Habe zuerst die 11er runtergeladen.

Jetzt hab ich es wie in dem Tutorial gemacht und einfach die default jdk genommen. Jetzt gehts. Dachte zuerst das default ist ein Platzhalter für die aktuellste Version gewesen.

Status. Active Running. 🙂 Läuft.


@JustNobody
Ich greife über den Browser auf den Server zu (Ionos vserver). Über den Browser starte ich die kvm.
 

Neue Themen


Zurück
Oben