Node.js se poate folosi în două feluri pe găzduirea dumneavoastră. Îl puteți rula din Terminal, pentru scripturi și teste — dar atunci programul rulează doar cât timp fereastra rămâne deschisă. Aici vorbim despre al doilea fel: o aplicație Node.js care rulează ca site, la o adresă de internet, fără să țineți nimic deschis.
La ce folosește
Unealta preia fișierele aplicației dintr-un folder din contul dumneavoastră și o pornește atunci când cineva accesează adresa pe care ați ales-o (un domeniu sau un subdomeniu). Nu aveți nevoie de Terminal deschis și nu aveți nevoie de nimic instalat pe calculator.
Aplicația nu rulează neîntrerupt. Când nu este folosită o vreme, serverul o oprește ca să nu consume resurse, iar la următoarea cerere o pornește singur. Practic nu se observă diferența: adresa răspunde oricând, doar că prima accesare după o pauză poate dura puțin mai mult (câteva milisecunde în plus).
Înainte de a începe, aveți nevoie de fișierele aplicației: cel puțin un fișier de pornire (de obicei app.js) și, dacă aplicația folosește module JavaScript, fișierul package.json.
Cum creați aplicația
- Autentificați-vă în cPanel și deschideți Setup Node.js App (în unele versiuni de cPanel aceeași unealtă apare cu numele Web Applications).
- Apăsați Create Application.
- Node.js version — versiunea pe care va rula aplicația. Alegeți o versiune nouă, dacă aplicația nu cere altfel. Lista arată doar versiunile disponibile pe serverul dumneavoastră.
- Application mode — Production pentru un site public: mesajele de eroare sunt ascunse vizitatorilor. Development este pentru teste: arată mai multe detalii despre erori, dar nu o folosiți pe un site public.
- Application root — folderul din cont în care stau fișierele aplicației, de exemplu
nodejsProjects/magazin.ro. Scrieți calea acolo unde puneți fișierele. Nu folosiți folderulpublic_htmlși nu amestecați aplicația cu fișierele site-ului obișnuit: este o aplicație separată. Dacă folderul nu există, îl puteți crea din File Manager, unde puteți încărca și fișierele aplicației (arhivă .zip încărcată și apoi Extract) sau le puteți trimite prin FTP. - Application URL — adresa la care va răspunde aplicația. Alegeți domeniul din listă. Puteți lăsa a doua casetă goală, ca aplicația să fie chiar site-ul, sau scrieți o cale (de exemplu
api), ca aplicația să răspundă doar la magazin.ro/api. - Application startup file — fișierul care pornește aplicația, de exemplu
app.jssauindex.js. Trebuie să existe, cu exact acest nume, în folderul scris la Application root. - Passenger log file — unde se scrie jurnalul aplicației, de exemplu
/home/utilizator/logs/magazin.log, unde utilizator este numele contului dumneavoastră (în captură apare, ca exemplu, demotrus). Când ceva nu merge, aici scrie motivul, așa că merită completat. - Environment variables (opțional, puteți sări peste acest pas) — apăsați ADD VARIABLE dacă aplicația are nevoie de valori din afară: o parolă pentru baza de date, o cheie de acces, un port. Scrieți numele la Name și valoarea la Value, apoi apăsați DONE ca să o salvați (în captură este completat PORT, ca exemplu). Aplicația le citește în cod prin
process.env, cu numele exact pe care l-ați scris aici: o aplicație scrisă cuprocess.env.PORT || 3010folosește valoarea de aici dacă există, iar dacă nu, portul ei implicit — 3010 în exemplul de față. - Apăsați CREATE. Aplicația apare în listă, cu starea ei.

După creare
- Aplicația pornește singură, la cerere. Nu trebuie să țineți Terminalul deschis și nu trebuie să faceți nimic ca să o porniți: răspunde la adresa aleasă oricând este accesată, chiar dacă între timp serverul o oprise.
- Din lista de aplicații o puteți opri, reporni sau șterge. Etichetele depind de versiunea de cPanel.
- După fiecare modificare a fișierelor, reporniți aplicația: altfel rămâne să ruleze versiunea veche, din memorie.
- După încărcarea unei aplicații noi sau după modificarea lui
package.json, instalați pachetele. În folderul aplicației rulaținpm installdin Terminal (ca în Cum sa folosesc node.js?), sau folosiți butonul de instalare din lista de aplicații, acolo unde apare. - Versiunea aleasă la creare este cea care rulează aplicația. Folosiți aceeași versiune și când instalați pachetele, altfel unele nu vor fi găsite.
Dacă nu funcționează
- Pagina nu se încarcă sau dă eroare — deschideți fișierul scris la Passenger log file din File Manager și citiți ultimele linii: acolo apare motivul exact.
- „Cannot find module” — pachetele nu sunt instalate în folderul aplicației. Rulați
npm installacolo sau folosiți butonul de instalare din listă. - Aplicația nu pornește deloc — verificați că numele de la Application startup file este scris exact ca fișierul din Application root.
- Aplicația răspunde, dar site-ul nu — verificați că domeniul de la Application URL este cel corect și că aplicația ascultă fie pe portul din variabila
PORT, fie pe portul implicit scris în cod atunci când variabila nu este completată. - Nu se vede nicio schimbare după o modificare — reporniți aplicația din lista de aplicații.
Dacă ați urmat pașii și ceva tot nu funcționează, deschideți un tichet și scrieți-ne ce ați configurat și ce eroare primiți; ne uităm împreună.
