Přejít na hlavní obsah

Node.js

Úvod

Node.js je serverová platforma, která spouští aplikace napsané v JavaScriptu.

Nejprve musíte nainstalovat Node.js:

  • Přejděte do "Nastavení" -> "Aplikace"

Nabídka správy aplikací ve FASTPANELU

  • Klikněte na tlačítko "Install" u požadované verze Node.js

Instalace verze Node.js ve FASTPANELU

Vytvořte webovou stránku:

  • Vyberte šablonu pro webovou stránku Node.js

Nová konfigurace webu ve FASTPANELU

  • Zadejte doménu a související parametry. Ve fázi konfigurace můžete změnit DB, FTP uživatele a Backend

Nová konfigurace webu ve FASTPANELU

  • Nahrajte soubory aplikace do adresáře webové stránky
  • Pro instalaci závislostí spusťte v Terminálu npm20.15.1 install (je potřeba nainstalovat aplikaci ttyd pro FASTPANEL®)

Instalace závislostí Node.js

  • Restartujte Node.js tak, že přejdete na nástěnku webu a poté otevřete sekci "Services".

Restart služby Node.js

Framework Express

Na příkladu frameworku Express vytvořme jednoduchý webový server:

  • Připojte se k serveru přes SSH jako uživatel, který vlastní web (můžete použít aplikaci ttyd pro FASTPANEL®)
  • Vytvořte v adresáři webové stránky soubor app.js a vyplňte jej následujícím kódem:
const express = require('express');
const app = express();
const PORT = process.env.SERVICE_PORT;

app.get('/', (req, res) => {
res.send('Hello! This is my first server on Node.js + Express 🚀');
});

app.listen(PORT, () => {
console.log(`Server is running at http://localhost:${PORT}`);
});

  • V adresáři webové stránky spusťte příkaz pro instalaci express
npm20.15.1 install express
  • Přejděte na nástěnku webu a poté do sekce Services
  • Restartujte službu
  • Zkontrolujte webovou stránku

Docusaurus

Na příkladu webové aplikace Docusaurus nakonfigurujme nastavení:

  • Připojte se k serveru přes SSH jako uživatel, který vlastní web (můžete použít aplikaci ttyd pro FASTPANEL®)
  • V adresáři webové stránky spusťte instalaci Docusaurus
npx20.15.1 create-docusaurus -j ./docs
  • Když budete vyzváni k výběru šablony, odpovězte classic (recommended)

  • Po instalaci nahraďte jeden řádek v souboru docs/package.json

"start": "docusaurus start",
# replace with
"start": "docusaurus start --port $SERVICE_PORT",

$SERVICE_PORT je systémová proměnná nastavená v FASTPANEL®

  • V ovládacím panelu přejděte do "nastavení webu" -> "Backend"

  • Vyberte obslužnou rutinu Standalone nebo PM2.

  • Vyberte požadovanou verzi Node.js.

  • Zadejte pracovní složku docs

  • Do pole Launch command zadejte: npm run start

  • Uložte. Počkejte, až se aplikace zkompiluje (informace se objeví v logách). Zkontrolujte webovou stránku

Next.js

Na příkladu Next.js s Node.js 20.19 vytvořme jednoduchý webový server:

  • Připojte se k serveru přes SSH jako uživatel, který vlastní webovou stránku (můžete také použít aplikaci ttyd ve FASTPANEL®).
  • V adresáři webové stránky spusťte příkaz pro inicializaci projektu:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Přidejte blok scripts do souboru package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Vytvořte adresář pages a v něm přidejte soubor s názvem index.js:
mkdir pages
cat <<EOF > pages/index.js
export async function getServerSideProps() {
return {
props: {
nodeVersion: process.version,
port: process.env.SERVICE_PORT || 3000,
},
};
}

export default function Home({ nodeVersion, port }) {
return (
<div style={{
fontFamily: 'sans-serif',
textAlign: 'center',
marginTop: '20vh'
}}>
<h1>✅ It works!</h1>
<p>Next.js app running on Node.js {nodeVersion}</p>
<p>Port: {port}</p>
</div>
);
}
EOF
  • Spusťte sestavení projektu.
yarn20.19.4 build
  • V ovládacím panelu přejděte do "nastavení webu" -> "Backend"
  • Vyberte obslužnou rutinu Standalone nebo PM2.
  • Vyberte požadovanou verzi Node.js.
  • Do pole Launch command zadejte: yarn run start.
  • Uložte. Počkejte, až se aplikace zkompiluje (informace se objeví v logách). Zkontrolujte webovou stránku

Další informace

V režimu Standalone se pro spouštění vašich skriptů spouští proces Node.js.

V režimu PM2 se pro správu procesů Node.js, logů a systémové zátěže používá správce procesů PM2.
Tento režim vám také umožňuje zadat počet workerů — tedy počet procesů Node.js zpracovávajících příchozí požadavky na server.
Tento režim navíc poskytuje možnost Enable file watch — PM2 automaticky restartuje vaši aplikaci při změně souboru v aktuálním adresáři nebo jeho podadresářích. Upozorňujeme, že tento režim přináší dodatečnou systémovou zátěž a není doporučen pro produkční prostředí.

Podobně můžete aplikaci nakonfigurovat, pokud vyžaduje YARN namísto NPM

Závislosti projektu uvedené v package.json můžete nainstalovat pomocí YARN nebo NPM přímo z FASTPANEL®. Za tímto účelem otevřete kartu webové stránky a přejděte do sekce Services:

Služby Node.js

Logy

Aplikace Node.js může generovat logy. Ve FASTPANEL® se nacházejí na nástěnce webu v sekci Logs na kartě "Backend log"

Příkazy konzole

Po instalaci Node.js ve FASTPANEL® mohou uživatelé se svými projekty pracovat pomocí příkazů konzole, jako jsou:

  • pm2
  • yarn20.15.1
  • npx20.15.1
  • npm20.15.1
  • node20.15.1

Příklad:

$ npm20.15.1 list
node-socket-port-server@1.0.0 /var/www/node_user/data/www/node.site
└── express@4.21.2
$ pm2 ls
┌────┬─────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼─────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ amazing_site│ default │ 1.0.0 │ cluster │ 9355 │ 2m │ 0 │ online │ 0% │ 62.4mb │ user │ disabled │
│ 1 │ amazing_site│ default │ 1.0.0 │ cluster │ 9362 │ 2m │ 0 │ online │ 0% │ 62.5mb │ user │ disabled │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

Název každého příkazu obsahuje číslo verze nainstalovaného Node.js. V tomto příkladu je dostupná verze Node.js 20.15.1.