It’s #FrontendFriday – Einblicke in den Node.js Process Manager PM2

26.03.2021

Es ist wieder Freitag und somit #FrontendFriday. In diesem Blogbeitrag geht es um das Managen verschiedener Node.js Applikationen mit PM2.

Was ist PM2

Bei PM2 handelt es sich um einen Prozess Manager für Node.js. Hiermit kann man alle möglichen Node.js Applikationen auf einem Server laufen lassen und diese immer im Blick haben. Die Grundfunktionalität ist kostenlos, dennoch gibt es eine Premium Version, welche ein besseres Monitoring und vieles mehr anbietet. Zu der “Pricing” Liste geht es hier. PM2 ist ein sehr umfangreiches Tool – auch in der kostenlosen Variante. Zudem kann sehr viel konfiguriert werden.

Ein großer Pluspunkt für PM2 ist die äußerst gute Dokumentation, welche eigentlich keine Fragen offen lässt. Hier kann man alles finden, angefangen bei den “Basics”, über zu Deployment, bis hin zu der Integration von Docker oder Heroku.

Jetzt aber genug mit der Theorie. Wir werfen mal einen Blick auf die Praxis.

PM2 installieren und ersten Prozess starten

PM2 kann ganz einfach über NPM (“Node Package Manager”) global installiert werden. Das geht über den Befehl:

npm install -g pm2

Um einen Prozess starten zu können, kann man einfach ein Node.js File mit PM2 in der CLI starten. Der Befehl könnte wie folgt aussehen:

pm2 start app.js 

Wenn man diesen Prozess unter einen speziell zugewiesenen Namen laufen lassen möchte, kann man hierfür das Flag --name 'Mein erster Prozess' benutzen.

Hier ein kleines Beispiel: pm2 start app.js --name "Mein erster Prozess"

Ausgabe:

Beispiel PM2

Weitere Befehle

Natürlich kann man sich auch alle laufenden Prozesse anzeigen lassen. Das geht über den Befehl pm2 ls. Dort sieht man, ob der Prozess im Moment pausiert ist oder ob er läuft. Zudem kann man die CPU Auslastung sehen, welche der jeweilige Prozess verursacht, wie lange der Prozess schon läuft und vieles mehr.

Ausgabe:

Beispiel PM2

Wenn man immer die aktuellen Änderungen aus einem Node.js File haben möchte, kann man dies über das Flag --watch erledigen. So wird der Prozess immer mit den aktuellen Änderungen neu gestartet und man muss das nicht mehr manuell machen. Diese Funktionalität hat starke Ähnlichkeit mit dem npm package “nodemon“.

Wenn man sich die Logs von der Applikation anschauen möchte, kann man hierfür den Befehl pm2 logs [id|name] verwenden. Außerdem kümmert sich PM2 um die automatische “Log Rotation”, somit hat man immer einen aktuellen Stand.

Zu guter Letzt ist es noch gut zu wissen wie man einen Prozess beenden kann. Dafür braucht man entweder den Prozess Name oder die ID des Prozesses. Wenn man diese nicht mehr genau weiß kann man sich die Details mit dem Befehl pm2 ls holen. Den Prozess kann man beispielsweise mit pm2 stop 0 beenden. Die 0 ist in diesem Beispiel die ID des Prozesses, welcher gestoppt werden soll.

Ausgabe:

Beispiel PM2

 

Im Allgemeinen kann man PM2 nur jedem empfehlen, auch in der kostenlosen Variante, da man hier ein sehr umfangreiches Tool bekommt.

// Wir wünschen euch noch einen wundervollen Freitag und einen guten Start ins Wochenende  :-)

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*Pflichtfelder

*

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.