Procédure
Co je Node.js?
Node.js je multiplatformní běhové prostředí s otevřeným zdrojovým kódem, které umožňuje vytvářet webové stránky nebo aplikace a hostovat je na serveru pomocí jazyka JavaScript. V našich balíčcích cPanel L, cPanel XL, cPanel 2XL, cPanel 3XL a CloudCP vám poskytujeme správce aplikací Node.js, abyste mohli na svém webhostingovém balíčku cPanel nastavit aplikaci Node.js. K dispozici jsou verze Node.js 6 až 24.
Co je Phusion Passenger?
Abychom našim zákazníkům poskytli stabilní a robustní prostředí pro Node.js, integrujeme vaše aplikace Node.js s webovým serverem Apache pomocí nástroje Phusion Passenger.
Nenastavujeme reverzní proxy server a aplikace Node.js nemohou běžet samostatně na vlastním webovém serveru. Pokud jste zvyklí spouštět server Node.js pomocí příkazů, jako je node server, npm run start nebo pm2 start myapp, v našich hostingových balíčcích cPanel to nebude možné. Pokud používáte nějaký framework, zkontrolujte, zda je kompatibilní s aplikací Phusion Passenger.
Spuštění vaší aplikace Node.js bude řídit Phusion Passenger, postará se o spuštění vašeho souboru .js se správnou verzí node a zachytí volání funkce http.Server listen() pro konfiguraci spojení mezi vaší aplikací a samotným webovým serverem Apache.
Jak nainstalovat aplikaci Node.js?
Připojte se k rozhraní pro správu cPanel a klikněte na ikonu"Nastavit aplikaci Node.js".

Na následující stránce klikněte na tlačítko"Vytvořit aplikaci" a přidejte novou aplikaci.

Poté vyplňte pole podle požadavků pro vaši aplikaci:
- Verze Node.js: verze Node.js, kterou vaše aplikace vyžaduje.
- Režim aplikace: umožňuje definovat režim provádění vaší aplikace, buď režim pro vývojáře, nebo produkční režim. Tím se manipuluje s proměnnou prostředí NODE_ENV, což umožňuje zobrazovat chyby v režimu pro vývojáře (což je užitečné pro účely ladění, ale může to být také problematické pro produkční aplikaci).
- Kořenový adresář aplikace: Umístění aplikace Node.js vzhledem ke kořenovému adresáři FTP. Doporučujeme, abyste aplikaci Node.js neumísťovali do složky public_html.
- Adresa URL aplikace: kořenová adresa URL vaší aplikace Node.js.
- Spouštěcí soubor aplikace: název souboru .js, který Passenger odešle do Node.js pro spuštění vaší aplikace.

Po nastavení aplikace klikněte na tlačítko"Create".
Pokud váš spouštěcí soubor aplikace ještě neexistuje, nástroj tento soubor se vzorovým obsahem okamžitě vytvoří. Tento příklad bude zobrazovat zprávu "Funguje!" na všech požadavcích HTTP, které jsou s ním spojeny.
Zde je obsah tohoto ukázkového skriptu :
var http = require('http'); var server = http.createServer(function(req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); var message = 'It works!\n', version = 'NodeJS ' + process.versions.node + '\n', response = [message, version].join('\n'); res.end(response); }); server.listen();
Soubor package.json můžete také upravit z rozhraní a přidat závislosti a nainstalovat je pomocí tlačítka "Spustit instalaci NPM ":

Všimněte si, že pokud byly závislosti změněny, je třeba aplikaci restartovat.
V části Proměnné prostředí můžete také definovat proměnné prostředí, pokud na ně vaše aplikace spoléhá při získávání určitých parametrů.
Přístup k aplikaci z terminálu
Používání terminálu příkazového řádku je nedílnou součástí ekosystému Node.js. Chcete-li přistupovat k prostředí své aplikace z terminálu, připojte se k němu (z webového terminálu cPanel nebo z klienta SSH) a zkopírujte zobrazený příkaz pro vstup do prostředí své aplikace:

Tato akce automaticky aktivuje správné virtuální prostředí pro vaši aplikaci, včetně správné verze Node.js a NPM a také závislostí nainstalovaných v prostředí (místo toho, aby byly nainstalovány ve složce "node_modules" ve složce aplikací).
Ladění aplikace Node.js
Chcete-li ladit aplikaci Node.js, můžete nahlédnout do protokolu chyb Apache. Soubor chybového protokolu Apache obsahuje :
- výstupy STDOUT a STDERR z aplikace Node.js.
- Chyby související s Passengerem
- Chyby související s Apache
Pokud jste v souboru .htaccess svého webu ručně nastavili hodnotu PassengerLogFile, budou výstupy STDOUT a STDERR a chyby související s aplikací Passenger odesílány do tohoto souboru místo do souboru protokolu Apache.
V souboru .htaccess můžete také nastavit hodnotu PassengerFriendlyErrorPages na on, aby se chyby související se spuštěním aplikace Node.js zobrazovaly přímo ve webovém prohlížeči.
Běžné chyby Node.js
Proces se zastavil při spuštění npm install
Možné příčiny: Váš proces může být serverem zastaven, pokud běží nad rámec doby provádění a/nebo množství prostředků (CPU, RAM atd.) povolených pro váš hostingový balíček. Historii zastavení procesu si můžete prohlédnout pomocí našeho nástroje "Protokoly ", který je k dispozici v rozhraní cPanel.
Řešení: Paměť RAM využívanou aplikací npm můžete omezit pomocí proměnné prostředí NODE_OPTIONS následujícím způsobem:
NODE_OPTIONS='--max-old-space-size=2048' npm install
Tento příklad ukazuje například limit 2048 MiB (2 GB).
Zadaný adresář již používá /home/$USER/public_html/monapp při vytváření z Setup Node.js App.
Možné příčiny :
- Aplikace Node.js, Python nebo Ruby publikovaná v zadaném adresáři již existuje.
- Kořenová aplikace a zadanáaplikace URL ukazují na stejný adresář.
Řešení: V případě, že je v adresáři Nodeode.cz umístěna aplikace Node:
- Zkontrolujte, zda v zadaném adresáři není publikována aplikace Node.js, Python nebo Ruby. Pro rychlou identifikaci můžete zkontrolovat soubor .htaccess pro danou složku ze správce souborů nebo obvyklého FTP klienta.
- Ujistěte se, že soubory vaší aplikace (.js, package.json ...) uvedené v kořenovém adresáři aplikace nejsou ve složce pro publikaci uvedené v adrese URL aplikace. Na rozdíl od aplikací PHP nemusí být a neměly by být soubory aplikace Node.js umístěny ve složce public_html.