Röviden: Osztott (cPanel) tárhelyen a Node.js használata nálunk a cPanel → Setup Node.js App menün keresztül történik. Itt tudsz alkalmazást létrehozni/kezelni, és a felület ad egy CLI parancsot, amivel belépsz az adott app saját environmentjébe – ott tudod futtatni az npm parancsokat.
Fontos: a Node.js alkalmazások publikus kiszolgálását nálunk az Apache Passenger modul végzi, ezért nem kell (és nem is fogsz tudni) külön portot nyitni a tűzfalon. Ha az alkalmazásodban kötelező portot megadni, akkor azt 0-ra állítsd. Külön porton (pl. :3000) nem lesz publikus elérés.
Tartalom
- Mire jó osztott tárhelyen a Node.js?
- 1) Setup Node.js App megnyitása cPanelben
- 2) Új Node.js alkalmazás létrehozása
- 3) Belépés az app environmentbe (CLI) és npm használata
- 4) Passenger: portnyitás nélkül működik (és miért nem megy a :3000)
- 5) Fontos: modern frameworknél ne a szerveren buildelj
- 6) Next.js osztott tárhelyen (cPanel + Passenger) – gyakorlati tippek
- 7) Indítás: npm run start
- Gyakori hibák és megoldások
- GYIK
- Mikor írj ticketet?
Mire jó osztott tárhelyen a Node.js?
Osztott tárhelyen a Node.js tipikusan ezekre jó:
- Node.js alkalmazás futtatása a cPaneles Setup Node.js App menüből (Passenger kiszolgálással).
- npm csomagok telepítése az app saját environmentjében (pl.
npm install). - Alkalmazás indítása (pl.
npm run start) a beállított startup fájllal.
1. Setup Node.js App megnyitása cPanelben
- Lépj be a cPanel felületre.
- A keresőbe írd be: Setup Node.js App (vagy: Node).
- Nyisd meg a Setup Node.js App menüpontot.
Ha nálad nem látszik ez a menü: írj ticketet, és elérhetővé tesszük.
2. Új Node.js alkalmazás létrehozása
A Setup Node.js App felületen tudsz új alkalmazást létrehozni és meglévőt kezelni.
Új app létrehozásánál jellemzően meg kell adnod (a mezőnevek a cPanel verziójától függően kicsit eltérhetnek):
- Node.js verzió
- Application root (az alkalmazás mappája a tárhelyen)
- Application URL (melyik domainen/útvonalon legyen elérhető)
- Startup file (pl.
app.js/server.js)
3. Belépés az app environmentbe (CLI) és npm használata
Meglévő app esetén a felület ad egy CLI parancsot, amivel belépsz az adott alkalmazás saját environmentjébe. Ebben a környezetben fogod tudni futtatni az npm parancsokat.
- A Setup Node.js App felületen válaszd ki a meglévő alkalmazást.
- Másold ki a megadott CLI parancsot (environment belépés).
- Jelentkezz be SSH-val, majd futtasd a kapott parancsot.
- Ezután futtathatod például:
npm installnpm run start
4. Passenger: portnyitás nélkül működik (és miért nem megy a :3000)
Nálunk a Node.js alkalmazások publikus kiszolgálását az Apache Passenger modul kezeli. Emiatt:
- Nincs szükség portnyitásra a tűzfalon az egyes alkalmazásokhoz.
- Az alkalmazás publikus elérése a beállított domain/URL alapján történik.
- Külön porton (például
http://domain.hu:3000) nem fogja tudni használni az alkalmazását senki. - Ha az alkalmazásodban kötelező portot megadni, akkor azt 0-ra állítsd.
5. Fontos: modern frameworknél ne a szerveren buildelj
Modern frameworkök esetén (különösen frontend build folyamatoknál) az npm run build gyakran sok memóriát igényel. Osztott tárhelyen emiatt előfordulhat, hogy a build memóriahiány miatt hibára fut (ez egy gyakori ügyfél-oldali hiba).
Ha build hibába ütközöl a szerveren, ezt javasoljuk:
- A saját gépeden (lokális fejlesztői környezetben) futtasd:
npm installnpm run build
- A létrejött compile-olt/buildelt kimenetet töltsd fel a szerverre (a frameworktől függően pl.
dist,build,.nextstb.). - A szerveren ezután jellemzően már csak:
- belépsz az app environmentbe (a cPanelben kapott CLI paranccsal),
- (ha szükséges) futtatod az
npm install-t, - majd indítasz:
npm run start.
6. Next.js osztott tárhelyen (cPanel + Passenger) – gyakorlati tippek
A Next.js kicsit speciális: többféle üzemmódja van, és nem mindegy, mit szeretnél elérni osztott tárhelyen.
6.1 Mikor elég “statikus” Next.js (ajánlott, ha lehet)
Ha a Next.js projektedben nincs szükség szerveroldali renderelésre (SSR) vagy API route-okra, akkor a legegyszerűbb (és általában a legstabilabb) megoldás, ha a buildet lokálisan futtatod, és a kész, statikus kimenetet töltöd fel a szerverre.
- Lokálisan:
npm run build(és ahol releváns:next export) - Feltöltöd a kész kimenetet a webes könyvtárba (pl.
public_htmlalá)
Előny: nincs folyamatos Node futás, kevesebb erőforrás-igény, kevesebb hiba.
6.2 Mikor kell “futó” Next.js (SSR / API route)
Ha használsz:
- SSR-t,
- API route-okat,
- vagy olyan funkciót, ami futó Node folyamatot igényel,
akkor Next.js-t jellemzően “server” módban kell futtatni (pl. next start / npm run start), és ezt a cPaneles Setup Node.js App + Passenger fogja kiszolgálni.
6.3 Fontos korlát: szerveren buildelni Next.js-nél gyakran nem ajánlott
Next.js build (különösen nagyobb projektnél) könnyen kifuthat osztott tárhelyen memóriából. Ha a szerveren npm run build hibázik, akkor:
- futtasd a buildet lokálisan (fejlesztői gépen / CI-ben),
- másold fel a szükséges kimenetet (tipikusan:
.next,public, plusz a projekt egyéb szükséges fájljai), - a szerveren pedig már csak indíts:
npm run start.
6.4 Passenger + port beállítás Next.js esetén
Mivel a publikus elérést a Passenger kezeli, külön porton nem lesz elérés. Ha a Next.js / Node környezetedben valahol portot kötelező megadni, azt 0-ra állítsd.
7. Indítás: npm run start
Miután feltöltötted a fájlokat (és ha kell, telepítetted a függőségeket), az alkalmazást jellemzően így indítod:
- Lépj be az app environmentbe a cPanel → Setup Node.js App felületen megadott CLI paranccsal.
- Futtasd:
npm run start - Ha a felületen van Restart / újraindítás lehetőség, használd azt is, ha szükséges.
Gyakori hibák és megoldások
- Nincs Setup Node.js App menü a cPanelben: írj ticketet, és elérhetővé tesszük.
- Build hibázik a szerveren: futtasd az
npm run build-et lokálisan, és a buildelt kimenetet töltsd fel; szerveren jellemzően elég aznpm run start. - Valaki külön porton akarja elérni (pl. :3000): osztott tárhelyen ez nem lesz publikus, mert a Passenger kezeli az elérést domain/URL alapján.
- Port megadása kötelező az alkalmazásban: állítsd 0-ra.
GYIK
Next.js-nél mit csináljak, ha a szerveren elfogy a memória build közben?
Futtasd a buildet lokális környezetben (vagy CI-ben), majd a buildelt kimenetet töltsd fel a szerverre. A tárhelyen már csak az indítás legyen: npm run start.
Hol tudok npm parancsokat futtatni?
A cPanel → Setup Node.js App felület megad egy CLI parancsot, amivel belépsz az adott app saját environmentjébe. Ott tudod futtatni az npm parancsokat (pl. npm install, npm run start).
Kell portot nyitnom a tűzfalon?
Nem. A publikus elérést az Apache Passenger modul kezeli, ezért külön portnyitásra nincs szükség.
Miért nem érhető el a Node appom a :3000 porton?
Osztott tárhelyen a publikus elérést nem külön porton oldjuk meg, hanem a Passenger kezeli a domain/URL alapján. Ezért külön porton (pl. :3000) nem lesz publikus elérés.
Miért nem ajánlott szerveren futtatni az npm run build-et?
Modern frameworkök build folyamata sok memóriát igényelhet, osztott tárhelyen pedig ez könnyen memóriahibába futhat. Ilyenkor futtasd a buildet inkább lokálisan, és a buildelt kimenetet töltsd fel a szerverre.
Mikor írj ticketet?
Írj ticketet, ha:
- nem találod a cPanelben a Setup Node.js App menüt,
- nem indul az alkalmazás, vagy nem egyértelmű a hiba oka,
- nem vagy biztos benne, pontosan mit kell feltölteni (framework-függő kimenetek).
Ticket beküldése: https://ugyfeladmin.tarhely.eu/submitticket.php
