Hosting von (u.a.) Java- und Node.js Anwendungen

QU3LLC0D3

Mitglied
Hallo zusammen,

ich bin seit einigen Jahren hauptberuflich Java-Entwickler und beschäftige mich seit jeher schon mit vielen Dingen rund um die Programmierung. Daher habe ich viele Projekte, die neben Java und JavaEE auch Node.js oder reine PHP- oder HTML-Projekte sind. Während es bei HTML/PHP ziemlich einfach ist eine Seite zu deployen ist es das für Java und Node.js leider nicht (zumindest für mich). Vor allem aber, weil ich wenig des technischen Aspekts selbst hinbekomme.

Ich habe momentan einen RaspberryPi mit einem DynDNS Dienst laufen, auf welchem zumindest meine PHP- und Node.js Projekte laufen. Einen Tomcat-, bzw. Wildfly habe ich bisher vergeblich versucht einzurichten ohne mein bestehendes Setup über den Haufen zu werfen.

Da mein Internet in letzter Zeit immer häufiger mal Schwierigkeiten macht und ich auch nicht davon abhängig sein möchte, interessieren mich daher vielmehr Hosting-Lösungen wo ich all meine Projekte realisieren kann. Das naheliegendste dürfte ein gemieteter Server sein allerdings kenne ich mich sehr wenig mit der Konfiguration und insbesondere der Domain-Konfiguration eines eigenen Servers aus. Geschweige denn hab ich eine Ahnung davon, wo man am besten überhaupt einen eigenen Server mietet und worauf man da achten muss. Auf meinem RaspberryPi habe ich das auch nur mit einer sehr genauen Step-By-Step Anleitung hinbekommen.

In meinem beruflichen Umfeld muss ich mich nur um meine lokal Lauffähigkeit in einer Wildfly-Umgebung kümmern. Irgendwie ist das ja das Gleiche aber trotzdem fällt es mir schwer, da eine Brücke zu schlagen.

Meine persönlichen Anforderungen sind also:
  • Deployment von Java und JavaEE Anwendungen (mit und ohne MySQL)
  • Deployment von Node.js Applikationen
  • Deployment von PHP Anwendungen

Es würde mich freuen, wenn jemand hier Hilfestellung leisten oder gute Quellen zur Verfügung stellen könnte, damit ich mir dieses Wissen aneignen kann. Ich würde da sehr gern von euren Erfahrungen profitieren auch wenn es sich hierbei nicht direkt um eine Frage zur Programmierung handelt.

Vielen Dank und viele Grüße,
QU3LLC0D3
 
Beste Antwort
Also die Probleme mit gemieteten Servern werden die gleichen sein wie auf deinem pi: Du musst es einrichten.

Das einfachste ist in meinen Augen: du nutzt einen Apache oder nginx Webserver. Das solltest Du ja schon haben und da gibt es genug Lösungen zur Konfiguration.

Tomcat oder was auch immer läuft separat und bietet nur auf 127.0.0.1 Seine Ports an. Der Webserver tritt da dann als Proxy auf und kümmert sich um SSL und co. Das ist dann auch einfach bezüglich letsencrypt oder so.

Damit habe ich gute Erfahrungen gemacht. Und das kannst du so auch mit Containern und so nutzen. Das ist dem Webserver ja egal, wohin er das schickt.


Eine Alternative kann die Cloud sein. Aber zumindest damals gab es kein Limit b er i den Kosten. Ein DDOS...

KonradN

Super-Moderator
Mitarbeiter
Also die Probleme mit gemieteten Servern werden die gleichen sein wie auf deinem pi: Du musst es einrichten.

Das einfachste ist in meinen Augen: du nutzt einen Apache oder nginx Webserver. Das solltest Du ja schon haben und da gibt es genug Lösungen zur Konfiguration.

Tomcat oder was auch immer läuft separat und bietet nur auf 127.0.0.1 Seine Ports an. Der Webserver tritt da dann als Proxy auf und kümmert sich um SSL und co. Das ist dann auch einfach bezüglich letsencrypt oder so.

Damit habe ich gute Erfahrungen gemacht. Und das kannst du so auch mit Containern und so nutzen. Das ist dem Webserver ja egal, wohin er das schickt.


Eine Alternative kann die Cloud sein. Aber zumindest damals gab es kein Limit b er i den Kosten. Ein DDOS Angriff kann dann schnell sehr teuer werden, weil die Anfragen bedient werden und jede Transaktion kostet. Aber das geht sehr gut z.B. mit Maven und deployment in die Cloud.
 
Beste Antwort

QU3LLC0D3

Mitglied
Hallo KonradN,

danke für deine schnelle Antwort - du bist ja hier wie der Blitz ;-)

In der Tat, einen Apache nutze ich bereits auf meinem Pi. Ich glaube du hast hier genau mein Problem erkannt: Nämlich, dass der Webserver als Proxy fungieren muss um Anfragen dann z.B. an den Tomcat weiterzuleiten. Gut, dass du das so formulieren konntest, denn dann weiß ich wenigstens wonach ich genau suchen muss. Das war mir tatsächlich nämlich nicht so ganz klar.

Die Idee mit dem gemieteten Server liegt eher darin begründet, dass mein Internet momentan so häufig ausfällt - demnach eben auch mein Pi nicht erreichbar ist - das hätte ich gern geändert.

Ich denke, ich werde aber dann zunächst versuchen, das auf dem Pi hinzubekommen denn dann dürfte es ja auch auf einem anderen Server klappen.
 

KonradN

Super-Moderator
Mitarbeiter
Bei Apache ist das dann mod_proxy und ist dann eine Konfiguration wie:
Code:
    <Proxy balancer://root>
        BalancerMember http://127.0.0.1:3000
    </Proxy>
    ProxyPass / balancer://root/
(Das ist z.B. bei mir eine Konfiguration für mein Gitea, welches auf Port 3000 läuft - ohne SSL! Das ist Bestandteil der SSL Konfiguration, d.h. der Apache hat das SSL Zertifikat und certbot aktualisiert das automatisch u.s.w.)

Konfiguration kann man sich aber auch sehr einfach machen - ich nutze auf meinem Server z.B. Webmin - da ist das dann ein einfacher Eintrag unter "Proxy Paths".

Und die 127.0.0.1:3000 kann direkt auf einen Container verweisen. Container sind eine gute Lösung um Dinge zu separieren und sauber zu halten.

Ach ja - wenn Du einen Server haben willst: Ich habe zuletzt schlechte Erfahrungen mit vServern gemacht. In der Vergangenheit hatte server4you sehr Gute und günstige, aber das es da günstige und brauchbare vServer für 5 Euro gibt, ist passe wie es mir scheint. Da kann es also lohnen, sich einen richtigen Server zu mieten (wobei die teuren vServer dort bestimmt was taugen! Wenn man also keine Probleme mit dem Blech haben will oder so, dann ist das nicht schlecht. vServer kommen auch meist mit Snapshots, d.h. Du hast ein erstes einfaches Backup.)

Die vServer von z.B. Strato waren sehr enttäuschend. Da habe ich regelmäßig Probleme mit startenden Prozessen. Wenn da zu viel Services starten wollen, dann macht er das öfters einfach nicht was sehr bedenklich ist. Dafür kostet der Scheiß einfach zu viel (Welche Limits da was verhindert haben, konnte ich an den Fehlermeldungen nicht sauber ablesen und mir war das dann auch schnell egal. Müll ist Müll und da muss man nicht mehr klassifizieren).
 

Oneixee5

Top Contributor
Ich setze auch konsequent auf Docker(-Compose). Auch Apache habe ich durch https://github.com/traefik/traefik/ als Proxy ersetzt. Die Proxykonfiguration erfolgt dann einfach durch das Starten bzw. Stoppen eines Containers. Zusätzlich verwende ich Watchtower. Damit muss man keine Updates mehr irgendwie deployen. Man stellt die Updates in seine Docker-Registrie ein, der Rest passiert automatisch. Wenn man will auch unterbrechungsfrei. Updates und Überwachung des Servers habe ich größtenteils automatisiert. Wartungsaufwändige Anwendungen wie Nextcloud habe ich ersetzt. So kann ich mit minimalem Aufwand mehrere Server betreiben ohne meine gesamte Freizeit zu opfern. Es gibt zwar hin und wieder mal Überreaktionen des Systems aber damit kann ich leben. Allerdings ist das ein Prozess und den ultimativen Endzustand gibt es nicht.
Ach so: "mehrere Server" - es laufen auf jedem Server mehrere Docker-Container, also Server bezeichnet hier Hardware. Ich habe da ebenfalls mit RaspPi angefgangen, nutze die aber nur noch für IoT-Zeug. Ansonsten habe ich noch 2 Mietserver bei Strato - die Verträge sind aber uralt, ich kann gar nicht sagen ob man das noch so mieten kann. Die RaspPi's habe ich durch China-Mini-PC's ersetzt (Vorteil: SSD's, mehr Cores, mehr RAM). Da mir der schlechte Ruf bekannt ist, sind diese so ausgelegt, dass sie sich gegenseitig ersetzen können. Ich hatte aber noch nie ernsthafte Probleme damit.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Bei externem Hosting: Neben WildFly "normaler" http-Server nötig? Server einrichten und konfigurieren 3
L 1&1 home page web hosting and JSP Server einrichten und konfigurieren 1
K "Java-11-openjdk-headless" + Abhängigkeiten manuell installieren / Ohne Internet Server einrichten und konfigurieren 1
J ich kann meinen Craftbukkitserver 1.15.2 nicht starten, obwohl ich Java installiert habe und es über 13 ist Server einrichten und konfigurieren 5
M Keine Verbinung zu Java-Https-Server möglich (Handshake-Fail) Server einrichten und konfigurieren 7
D java code auf Xampp laufen lassen Server einrichten und konfigurieren 5
D Java Applikation als Backend (REST) absichern Server einrichten und konfigurieren 28
K Tomcat - Java-Version? Server einrichten und konfigurieren 5
E Bekomme java.lang.IllegalStateException und java.lang.ClassNotFoundException beim deployen Server einrichten und konfigurieren 0
I JAVA EE Server mit integrierter Datenbank Server einrichten und konfigurieren 0
M Java-EJB-Anwendung auf Server bzw. Client deployen Server einrichten und konfigurieren 0
M Glassfish 4: java.net.MalformedURLException: Bad URL path Server einrichten und konfigurieren 7
J Java Programm auf Linux Server Laufen lassen Server einrichten und konfigurieren 6
A internal exception: java.io.ioexception: an existing connection was forcibly closed by remote host ? Server einrichten und konfigurieren 2
P Ständige Java.Authentifizierung Server einrichten und konfigurieren 0
P Problem "Java Heap Space" Server einrichten und konfigurieren 5
TheJavaKid Cent OS für Java und MySQL konfigurieren Server einrichten und konfigurieren 21
E Ubuntu Java pfad Server einrichten und konfigurieren 5
B Java VM Bezugsquelle Server einrichten und konfigurieren 5
R Java-update auf Debian-Etch Server einrichten und konfigurieren 11
I Beurteilung der Serverausstattung für JAVA Programm Server einrichten und konfigurieren 10
F Weblogic und Java 1.5 parallel GC sinvoll? Server einrichten und konfigurieren 3
G VServer Java Server einrichten und konfigurieren 19
M Java Applikation auf Webserver - was brauche ich dafür? Server einrichten und konfigurieren 7
M MySQL/Tomcat mit java.net.SocketException "Broken Pipe& Server einrichten und konfigurieren 1
V Java-Klasse mit Tomcat starten (kein Servlet) Server einrichten und konfigurieren 5
S Java und CGI Server einrichten und konfigurieren 2
J tools.jar fehler ::: java.lang.RuntimeException Server einrichten und konfigurieren 14

Ähnliche Java Themen

Neue Themen


Oben