NodeJS alkalmazások automatikus futtatására találtam egy remek cuccot a PM2-t
A NMP INSTALL -G PM2 PARANCCSAL TELEPÍTHETJÜK, AMIT A TERMINÁLON TUDUNK KIADNI.
EZUTÁN PM2 START SERVERNEVE.JS PARANCCSAL INDÍTHATJUK A NODEJS-ES JAVASCRIPT ALKALMAZÁSAINKAT
1. kép: A PM2 monit parancsot kiadva egy négy felé osztott ablak nyílik meg a terminálon, ahol egy helyen figyelhetjük az elindított NodeJS alkalmazásainkat. A JavaScript alkalmazás által console log-ot és az alkalmazás minden fontos adatát
2. kép: A PM2 list paranccsal a terminálban kilistáztathatjuk a futó alkalmazásainkat, azok CPU és memóriahasználatát és futási idejét lehet látni, illetve a NodeJS alkalmazásaink futtató rendszerfelhasználó nevét.
3. kép: Nem csak a terminálon, hanem webes felületen is monitorozhatjuk szerverünk által futtatott JavaScript alkalmazásaink működését, ha szerverünket szinkronizáljuk a PM2.io-val és regisztrálunk (GitHub fiókkal is be lehet lépni). Itt nem csak nézelődésre van lehetőség. A jobb szélen található gombokkal, akár újra is indíthatjuk az appot, ha esetleg valamilyen hibás működést tapasztalunk.
4. kép: A Javascript alkalmazásunk által küldött konzol üzeneteket is láthatjuk egy külön ablakban, ami a 3. képnél látható jobboldali gombokkal hívható elő az adott alkalmazáshoz.
5. kép: Ha szeretnénk, hogy NodeJS alkalmazásaink a szerverünk nemvárt leállása után is újrainduljanak, fel kell venni a Crontab-ba az alkalmazásaink indító parancsait. Ezt a crontab -e paranccsal tehetjük meg a konzolon. Ha kiadtuk a parancsot, a Nano vagy az általunk preferált szövegszerkesztő nyílik meg, ahol lehetőség van szerkeszteni a crontab parancsokat.
A @reboot cd /elérésiút && pm2 start alkalmazasunkneve.js sorokat beírva a crontab listába a szerverünk automatikusan lefuttatja azokat a parancsokat a szerver indulásakor, úgy mintha a terminálba kézzel írtuk volna be azt. Vigyázzunk, hogy más, már meglévő parancsokat nehogy kitöröljünk.
Van még nagyon sok érdekes cucc a Node.JS alkalmazások állandó futtatására, mint például a Nodemon vagy a Forever, de szerintem ez mindet felülmúlja. De ha tudsz egy ennél is jobbat, nyugodtan írd meg kommentben