Pouze pro návštěvníky našeho blogu Získejte další 3 měsíce zdarma + 10% slevu na tříletý plán YSBLOG10
Chyťte dohodu

Jak hostovat Node.js na sdíleném hostingu? – (Podrobný návod)

Hostování Node.js na sdíleném hostingu, vyberte poskytovatele, který podporuje Node (obvykle prostřednictvím Správce aplikací/CloudLinux Passenger v cPanelu), nahrajte aplikaci, nainstalujte závislosti pomocí npm, nastavte spouštěcí soubor a proměnné prostředí a namapujte doménu nebo subdoménu.

Pokud váš hosting nemá nativní podporu pro Node, použijte externí platformu Node nebo upgradujte na VPS. Hostování Node.js na sdíleném hostingu je možné, pokud jej váš poskytovatel podporuje, ale s určitými omezeními.

V této příručce vám krok za krokem ukážu, jak hostovat Node.js na sdíleném hostingu pomocí cPanelu + Passengeru, co dělat, když váš hosting nepodporuje Node, a kdy je chytřejší použít VPS pro produkční úlohy.

Můžete hostovat Node.js na sdíleném hostingu?

Hostování Node.js na sdíleném hostingu

Ano, pokud sdílený hosting používá CloudLinux a zpřístupňuje Nastavení aplikace Node.js v cPanelu (Passenger). Umožňuje provoz Apache proxy do vaší aplikace Node bez otevírání vlastních portů. Ne všechny sdílené hostingy tuto funkci nabízejí. Bez Passengeru je spuštění veřejného serveru Node… server na sdíleném hostingu je zřídka proveditelné.

Kdy sdílený hosting funguje

Vyberte si sdílený hosting Pokud je vaše aplikace lehká nebo ve vývoji, má mírný provoz, nepotřebuje workery na pozadí a nevyžaduje velké zatížení WebSocketu, je vhodná pro malá API, dashboardy, nástroje pro správu nebo vzdělávací projekty.

Kdy potřebujete VPS

Pokud potřebujete PM2, vlastní porty, velké množství WebSocketů, dlouhodobě běžící úlohy na pozadí, nativní moduly (nástroje pro sestavení) nebo předvídatelný CPU/RAM, zvolte VPS. Vhodné i pro vás. CI/CD potrubí a mikroslužeb. Pokud vám sdílený hosting dovolí, migrace na managed VPS je přímočarý.

Předpoklady a kontrolní seznam

  • Sdílený hosting s podporou Node.js (cPanel Application Manager/CloudLinux Node.js Selector/Passenger).
  • Přístup SSH nebo cPanel Terminal pro spuštění npm install.
  • Kompatibilita verzí Node.js (např. Node 18/20 LTS).
  • Spouštěcí soubor aplikace (např. app.js/server.js) a soubor package.json se spouštěcím skriptem.
  • Připravena doména/subdoména (např. api.example.com) a přístup k DNS.
  • Volitelné: Git repozitář pro hladké nasazení díky správě verzí Gitu v cPanelu.

Metoda 1: Hostování Node.js na sdíleném hostingu s cPanelem + Passenger

Toto je nejspolehlivější způsob hostování Node.js na sdíleném hostingu. Passenger spouští vaši aplikaci za Apache/Nginx a mapuje ji na vaši doménu bez otevírání vlastních portů.

1. Připravte si aplikaci Minimal Express

Vaše aplikace by se měla navázat na process.env.PORT, pokud je nastaven. Passenger to nastaví automaticky. Zde je minimální příklad:

// server.js
const express = require('express');
const app = express();

const PORT = process.env.PORT || 3000;

app.get('/', (req, res) => {
  res.send('Hello from Node.js on shared hosting via Passenger!');
});

app.listen(PORT, '127.0.0.1', () => {
  console.log(`Server listening on port ${PORT}`);
});

Ujistěte se, že váš soubor package.json obsahuje spouštěcí skript:

{
  "name": "shared-node",
  "version": "1.0.0",
  "main": "server.js",
  "type": "module",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.19.0"
  }
}

2. Vytvořte aplikaci v cPanelu

  • Přihlaste se do cPanelu.
  • Otevřete „Nastavení aplikace Node.js“ nebo „Správce aplikací“.
  • Klikněte na „Vytvořit aplikaci“.
  • Vyberte verzi Node.js (preferujte LTS, například 18 nebo 20).
  • Režim aplikace: Výroba.
  • Kořen aplikace: Složka obsahující vaši aplikaci (např. /home/user/apps/shared-node).
  • URL/doména aplikace: Vyberte doménu nebo subdoménu (např. api.example.com).
  • Spouštěcí soubor aplikace: server.js (nebo vámi zvolený vstupní bod).
  • Uložením/nasazením vytvořte prostředí.

Po vytvoření cPanel zobrazí cestu k virtuálnímu prostředí a instrukce „Spustit instalaci NPM“ nebo SSH. Použijte je k instalaci závislostí uvnitř kořenového adresáře aplikace.

3. Nahrávání kódu a instalace závislostí

  • Prostřednictvím souboru Manažer: Nahrajte ZIP soubor a rozbalte jej do kořenového adresáře aplikace.
  • Přes Git: Použijte „Správu verzí Git“ v cPanelu k naklonování repozitáře do kořenového adresáře aplikace a stahování aktualizací.
  • Přes SSH/terminál: Přejděte do kořenového adresáře aplikace a spusťte příkaz npm install.
# In cPanel Terminal or SSH
cd ~/apps/shared-node
npm ci --only=production
# or
npm install --production

4. Konfigurace proměnných prostředí (volitelné)

V rozhraní aplikace Node.js přidejte páry klíč/hodnota, jako například NODE_ENV=production, klíče API a adresy URL databáze. Neposkytujte tajné údaje Gitu; pokud možno je uchovávejte v proměnných prostředí.

5. Restartujte a otestujte

  • Po jakékoli změně klikněte v cPanelu na „Restartovat aplikaci“.
  • Navštivte svou doménu/subdoménu. Měli byste vidět odpověď vaší aplikace.
  • Pokud se zobrazí chyba 503, zkontrolujte protokoly Passenger a cestu ke spouštěcímu souboru.
# Useful checks
node -v
cat ~/logs/<domain>.error.log
cat ~/apps/shared-node/passenger.log

Metoda 2: Pokud váš sdílený hostitel nepodporuje Node.js

Někteří sdíleli vlastní blok hostitelů porty a nenabízejte Passenger. V takovém případě nemůžete přímo zpřístupnit veřejný server Node. Použijte jedno z těchto řešení.

Možnost A: Externí uzlová platforma + vaše doména

  • Nasaďte svou Node aplikaci na platformu jako Render, Railway, Fly.io nebo podobnou.
  • Vytvořte subdoménu (např. api.example.com) ve vašem DNS serveru sdíleného hostingu a přidejte ji do CNAME pro vaši externí aplikaci.
  • Statické prvky (front-end) uchovávejte na sdíleném hostingu a volání API směřujte na subdoménu.
  • Nastavte správně CORS a povolte HTTPS. Mnoho platforem poskytuje bezplatné TLS.

Možnost B: Upgrade na spravovaný VPS

VPS vám dává plnou kontrolu: vyberte si verzi Node, spusťte PM2, povolte WebSockets a škálujte zdroje. Pokud je váš projekt zaměřený na zákazníka nebo kritický pro příjmy, managed VPS je bezpečnější a rychlejší než ohýbání sdílených omezení.

At YouStable, doporučujeme S technologií NVMe managed VPS pro Node.jsZískáte root přístup, izolované zdroje a pomoc s nastavením a migracemi – ideální, když vám sdílený hosting dovolí vyrůst ze sítě.

Nejlepší postupy pro Node.js na sdíleném hostingu

  • Použijte LTS: Pro zabezpečení a stabilitu vyberte uzel 18 nebo 20.
  • Manipulace s PORTEM: Vždy se vázat na process.env.PORT, pokud je přítomen.
  • Výrobní režim: Nastavením NODE_ENV=production povolíte optimalizaci výkonu.
  • Lehké závislosti: Vyhněte se těžkým nativním modulům, které vyžadují nástroje pro sestavení.
  • Protokolování: Protokolovat do souborů nebo do odlehčené vzdálené služby; v produkčním prostředí se vyhněte podrobným konzolovým protokolům.
  • Zabezpečení Uchovávejte tajemství v proměnných prostředí; sanitizujte vstupy; ověřujte datové části; trasy citlivé na limity rychlosti.
  • Statické ukládání do mezipaměti: Poskytujte statické datové zdroje s hlavičkami ukládanými do mezipaměti (front-end přes Apache/LiteSpeed ​​caching).
  • Zdravotní prohlídky: Přidejte koncový bod /health pro kontroly provozuschopnosti.
  • Půvabné restarty: Pro změny použijte restart v cPanelu; nespoléhejte se na dlouhodobě běžící úlohy na pozadí ve sdíleném prostředí.

Odstraňování běžných chyb

  • Služba 503 není k dispozici: Nesprávná cesta ke spouštěcímu souboru, aplikace se zhroutila nebo chybí závislosti. Ověřte spouštěcí soubor v cPanelu, spusťte npm ci a zkontrolujte passenger.log.
  • Aplikace se náhodně zastaví: Sdílené procesy lze recyklovat. Vyhněte se úlohám na pozadí; udržujte aplikaci štíhlou; zvažte VPS pro démony/fronty.
  • Nelze nainstalovat nativní moduly: Sdílená prostředí často postrádají nástroje pro sestavování. Nahraďte je čistě JS alternativami nebo přejděte na VPS.
  • Neshoda verzí uzlu: Změňte verzi uzlu v cPanelu tak, aby odpovídala poli engines vaší aplikace; znovu nainstalujte node_modules.
  • WebSockety nefungují: Některé sdílené zásobníky omezují připojení pro upgrade. Otestujte s jednoduchým WS serverem; pokud je nespolehlivý, použijte VPS nebo managed Hostitelský uzel.

Realistická očekávání a cesta upgradu

Sdílený hosting je cenově dostupný způsob, jak dostat aplikaci Node.js online, ale není určen pro náročné, stavové nebo na latenci citlivé služby. Začněte v malém, ověřte svou aplikaci a sledujte její využití. Pokud potřebujete automatické škálování, workery na pozadí nebo plnou kontrolu, přejděte na managed VPS.

Pokud si nejste jisti, zeptejte se svého hostingového poskytovatele, zda podporuje „cPanel Node.js App“ nebo „CloudLinux Passenger“. Pokud ne, nasměrujte své API na externí platformu Node nebo migrujte na VPS. YouStable vám může pomoci vybrat správný plán a migrovat s minimálními prostoji.

Podrobný přehled (cPanel + Passenger)

  • Připravte si aplikaci pomocí spouštěcího souboru a spouštěcího skriptu.
  • Vytvořte aplikaci Node.js v cPanelu, nastavte verzi uzlu, kořenový adresář aplikace a spouštěcí soubor.
  • Nahrát kód (Správce souborů nebo Git) do kořenového adresáře aplikace.
  • Nainstalujte závislosti pomocí npm ve virtuálním prostředí aplikace.
  • Nastavte proměnné prostředí (produkční, API klíče, URL databáze).
  • Namapujte doménu nebo subdoménu k aplikaci v cPanelu.
  • Restartujte aplikaci a v případě problémů otestujte protokoly.

FAQs

1. Mohu spustit Node.js na sdíleném hostingu cPanel?

Ano, pokud váš hosting poskytuje Node.js Selector od CloudLinuxu nebo Application Manager (Passenger) od cPanelu. Umožňuje vám nasazovat aplikace Node bez otevírání vlastních portů. Pokud váš cPanel tuto funkci nemá, pravděpodobně nebudete moci zpřístupnit server Node na sdíleném hostingu.

2. Potřebuji PM2 na sdíleném hostingu?

Č. cestujícího manages životním cyklem aplikace. PM2 je skvělý na VPS, kde ovládáte procesy, clustering a spouštěcí skripty. Na sdíleném serveru se držte Passengeru a Restartu v cPanelu.

3. Jak nasměruji svou doménu na aplikaci Node na sdíleném hostingu?

V rozhraní Node.js aplikace cPanel vyberte doménu nebo vytvořte subdoménu a namapujte ji na aplikaci. Apache/Passenger se postará o směrování; nemusíte otevírat port ani upravovat pravidla ProxyPass.

4. Proč se mi po nasazení zobrazuje chyba 503?

Běžné důvody: Špatný spouštěcí soubor, chybějící závislosti, neshoda verzí uzlu nebo aplikace naslouchá na nesprávné adrese. Ujistěte se, že soubor server.js odpovídá cestě v cPanelu, spusťte npm ci, vyberte správnou LTS uzlu a navažte jej na process.env.PORT.

5. Je sdílený hosting vhodný pro produkční Node.js?

Je to v pořádku pro malé aplikace s nízkým provozem, prototypy nebo interní nástroje. Pro kritické úlohy, WebSockety nebo pracovníky na pozadí je to... managed VPS je spolehlivější. YouStableTarify NVMe VPS od nabízejí lepší výkon, izolaci a kontrolu pro Node.js.

Sdílet přes:

Sanjeet Chauhan

Sanjeet Chauhan je bloger a SEO expert, který se věnuje pomoci webovým stránkám s organickým růstem. Sdílí praktické strategie, užitečné tipy a poznatky pro zvýšení návštěvnosti, zlepšení pozic ve vyhledávání a maximalizaci online přítomnosti.

Zanechat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

Přejděte na začátek