Wéi aktivéiert PM2 fir Auto Start Node.js App beim System Boot


PM2 ass e mächtege, wäit benotzten, a Feature-räiche, Produktiouns-prett Prozessmanager fir Node.js. De PM2 nei starten mat de Prozesser déi et geréiert all Kéier wann Äre Server booten/Neistart ass kritesch. Ee vun de Schlësselfeatures vum PM2 ass Ënnerstëtzung fir e Startup Skript (dynamesch generéiert baséiert op dem Standard Init System op Ärem Server), deen de PM2 an Är Prozesser bei all Server Neistart nei starten.

[ Dir kënnt och gär hunn: Wéi installéiere ech PM2 fir Node.js Apps um Produktiounsserver ze lafen]

De Start Skript setzt PM2 als Service ënner dem Init System op. Wann de Server nei ufänkt, wäert et automatesch PM2 nei starten, déi dann all d'Node.js Uwendungen/Prozesser déi se geréiert nei starten.

An dësem Artikel wäerte mir Iech weisen wéi Dir PM2 als Service ofsetzt fir Är Node.js Apps zouverlässeg ze managen. Fir dëse Guide benotzt den Testsystem e Systemdéngscht a Systemmanager. All Kommandoen an dësem Artikel ginn als Root ausgefouert (benotzt sudo wou et néideg ass fir e Benotzer mat Privilegien et opzeruffen).

Generéiere PM2 Start Skript fir Init System

PM2 ass entwéckelt fir mam Standard Init System op engem Linux System ze schaffen (deen et automatesch erkennen kann) fir de Startup Skript ze generéieren an PM2 als Service ze konfiguréieren deen beim Systemboot nei gestart ka ginn.

Fir de Startup Skript ze generéieren, fuert einfach de folgende Kommando als Root:

# pm2 startup

De Startup-Subkommando erzielt PM2 fir verfügbaren Init-System z'entdecken, Konfiguratioun ze generéieren an de Startup-System z'aktivéieren.

Dir kënnt och explizit den Init System spezifizéieren esou:

# pm2 startup systems

Fir ze bestätegen datt de PM2 Startup Service op a leeft ënner systemd, fuert de folgende Kommando (ersetzt den pm2-root.service mam aktuellen Numm vun Ärem Service, kontrolléiert d'Ausgab vum fréiere Kommando):

# systemctl status pm2-root.service

Start Node.js Uwendungen/Prozesser

Als nächst wëllt Dir Är Node.js Uwendungen mat PM2 starten wéi follegt. Wann Dir se schonn op a lafen hutt, iwwer PM2 gestart, kënnt Dir dëse Schrëtt iwwersprangen:

# cd /var/www/backend/api-v1-staging/
# pm2 start src/bin/www.js -n api-service-staging

Als nächst musst Dir déi aktuell Lëscht vun de Prozesser registréieren/späicheren, déi Dir mat PM2 verwalten wëllt, sou datt se beim Systemboot erëm spawnen (all Kéier wann et erwaart gëtt oder en onerwaarte Server Neistart), andeems Dir de folgende Kommando ausféiert:

# pm2 save

Verifizéiert PM2 Auto Starting Node.js Apps beim Boot

Schlussendlech musst Dir testen ob de Setup gutt funktionnéiert. Restart Äre System, a kontrolléiert ob all Är Node.js Prozesser ënner PM2 lafen.

# pm2 ls
or
# pm2 status

Notéiert datt Dir Prozesser manuell erëmbeliewen kënnt andeems Dir de folgende Kommando ausféiert:

# pm2 resurrect

Desaktivéiere vum Startup System

Dir kënnt de Startup System auszeschalten andeems Dir den Unstartup Ënnerbefehl ausféiert wéi gewisen.

# pm2 unstartup
OR
# pm2 startup systemd

Fir de Startskript ze aktualiséieren, fir d'éischt deaktivéieren, a fänkt et dann erëm un wéi gewisen.

# pm2 unstartup
# pm2 startup

Referenz: PM2 Startup Script Generator.