Autorestarter pro PM2 - Node.js aplikace
Postup a doporučení od týmu exon.io.
Automatické spuštění aplikací v PM2 po restartu
PM2 Auto Restarter slouží k tomu, aby se aplikace běžící pod PM2 automaticky znovu spustily po restartu serveru, například při:
-
plánované údržbě hostingu,
-
restartu systému,
-
neočekávaném výpadku.
Díky tomu není nutný ruční zásah administrátora a aplikace se sama obnoví do posledního uloženého stavu.
Jaké řešení se používá?
Řešení využívá kombinaci:
-
Bash skriptu, který obnoví uložený stav PM2 (
pm2 resurrect) -
Cron Jobu, který skript pravidelně spouští
Tento postup je univerzální a funguje pro libovolnou Node.js aplikaci spravovanou pomocí PM2.
Jak vytvořit Bash skript pro obnovení PM2?
V domovském adresáři hostingu vytvořte soubor:
pm2_resurrect.sh
Do souboru vložte následující obsah. Upravte cesty podle umístění vaší aplikace a Node.js prostředí
#!/bin/bash
# Aktivace Node.js prostředí a přechod do adresáře aplikace
source /home/uživatel/nodevenv/aplikace/XX/bin/activate \
&& cd /home/uživatel/aplikace
pm2 resurrect
Jak nastavit oprávnění pro spuštění skriptu?
Po vytvoření souboru nastavte spustitelné oprávnění:
chmod +x pm2_resurrect.sh
Jak nastavit Cron Job v cPanelu?
- Přihlaste se do cPanelu
- Otevřete sekci Cron Jobs
- Vytvořte nový Cron Job s frekvencí každou minutu
- Do pole Command vložte cestu ke skriptu, například:
/home/uživatel/pm2_resurrect.sh
Cron Job zajistí, že po restartu serveru dojde k automatickému obnovení všech aplikací spravovaných PM2.
Je potřeba PM2 nějak připravit předem?
Ano, stav běžících aplikací musí být uložen:
pm2 save
Co všechno se po restartu obnoví?
-
běžící aplikace
-
jejich názvy
-
počet instancí
-
parametry spuštění
Neobnovují se změny, které nebyly uloženy pomocí pm2 save.
Byla tato odpověď nápomocná?
Vaše odpověď nám pomůže návody dále zlepšovat.