In dieser Anleitung zeigen wir dir beispielhaft, wie du eine Nodejs App auf dem Server erreichbar machen kannst.
Zu beachten: Um die Anleitung befolgen zu können, musst du das Anwendungshosting für eine URL bei uns gebucht haben und die Zugangsdaten für den Serverzugriff bereits erhalten haben.
Schritt 1: SSH Verbindung zum Anwendungsserver aufbauen
Zunächst müssen wir uns per SSH auf den Server schalten, um eine Anwendung aufsetzen zu können. Für jede gehostete Anwendung stellen wir einen seperaten SSH Zugang zur Verfügung. In diesem Beispiel zeigen wir das Setup für die Domain oponaproject.de
Der SSH Befehl sieht wie folgt aus:
ssh <<username>>@167.235.82.76 -p 2255
In diesem Beispiel würde es dann wie folgt aussehen:
ssh oponaproject@167.235.82.76 -p 2255

Wie auf dem Bild zu sehen, gibt es vier Ordner im Homeverzeichnis. Wenn wir nun in htdocs navigieren, sollte dort ein Ordner für die Anwendung zu finden sein:

Nun navigieren wir in diesen Ordner, da wir die Nodejs Anwendung über oponaproject.de erreichbar machen wollen.
Schritt 2: Nodejs Anwendung aufsetzen
Hier muss nun der Code der Nodejs Anwendung hinterlegt werden. In diesem Beispiel holen wir uns den Code von unserem Gitlab Server:
git clone https://git.cyberinnovations.de/anwendungshosting/oponaproject.de.git
Nun navigieren wir in den heruntergeladenen Ordner:
cd oponaproject.de
Und hier finden wir den ganzen Code der Nodejs Anwendung:

In dieser Beispielanwendung heißt die Datei, die ausgeführt werden muss app.js
PM2 installieren
Um die Datei ausführen zu können, muss zunächst pm2 mittels npm installiert werden:
npm install pm2@latest -g

Schritt 3: Nodejs App starten
Nun kann die Anwendung das erste Mal gestartet werden, um zu sehen, ob alles reibungslos funktioniert. Hierfür nutzen wir pm2 und geben bei "name" den Namen der Datei an, wo alle Konfigurationen zur Anwendung hinterlegt sind (in unserem Fall app.js und daher app)
pm2 start npm --name app -- start

Wenn alles funktioniert hat, sollte ein ähnliches Bild zu sehen sein.
Konfiguration speichern
Nun speichern wir die Konfiguration:
pm2 save
Schritt 4: Autostart mittels Cronjob einrichten
Aktuell ist die Anwendung nur bis zum nächsten Server-Neustart online. Um die Anwendung dauerhaft erreichbar zu machen, legen wir nun einen Cronjob an, der bei jedem Neustart des Servers die Anwendung startet.
Hierfür lassen wir uns zunächst den Pfad im Terminal ausgeben und kopieren diesen in die Zwischenablage:
echo $PATH

Nun öffnen wir die Konfigurationsdatei für Cronjobs:
crontab -e
Und scrollen hier an das Ende der Datei und fügen folgende zwei Zeilen hinzu:
PATH=/home/oponaproject/.nvm/versions/node/v18.16.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
@reboot pm2 resurrect &> /dev/null

Nun schließen wir die Datei mittels strg + x und drücken auf "Y", um die Änderungen zu speichern.
Schritt 5: Erreichbarkeit testen
Öffne nun in deinem Browser die URL, die für die Anwendung genutzt werden sollte und schaue, ob die Anwendung richtig dargestellt wird.