Pāriet uz galveno saturu

Node.js

Ievads

Node.js ir servera platforma, kurā darbojas JavaScript valodā rakstītas lietotnes.

Vispirms jums jāinstalē Node.js:

  • Dodieties uz "Settings" -> "Applications"

Lietotņu pārvaldības izvēlne FASTPANEL

  • Noklikšķiniet uz pogas "Install" vajadzīgajai Node.js versijai

Node.js versijas instalēšana FASTPANEL

Izveidojiet vietni:

  • Atlasiet veidni Node.js vietnei

Jaunas vietnes konfigurācija FASTPANEL

  • Norādiet domēnu un saistītos parametrus. Konfigurācijas posmā varat mainīt DB, FTP lietotāju un Backend

Jaunas vietnes konfigurācija FASTPANEL

  • Augšupielādējiet lietotnes failus vietnes direktorijā
  • Lai instalētu atkarības, palaidiet npm20.15.1 install terminālī (nepieciešams instalēt ttyd lietotni priekš FASTPANEL®)

Node.js atkarību instalēšana

  • Restartējiet Node.js, dodoties uz vietnes paneli un pēc tam atverot sadaļu "Services".

Node.js pakalpojuma restartēšana

Express ietvars

Izmantojot Express ietvaru kā piemēru, izveidosim vienkāršu tīmekļa serveri:

  • Pieslēdzieties serverim caur SSH kā lietotājs, kam pieder vietne (varat izmantot ttyd lietotni priekš FASTPANEL®)
  • Izveidojiet failu app.js vietnes direktorijā un aizpildiet to ar šādu kodu:
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}`);
});

  • Vietnes direktorijā palaidiet komandu express instalēšanai
npm20.15.1 install express
  • Dodieties uz vietnes paneli, pēc tam uz sadaļu Services
  • Restartējiet pakalpojumu
  • Pārbaudiet vietni

Docusaurus

Izmantojot Docusaurus tīmekļa lietotni kā piemēru, konfigurēsim iestatījumus:

  • Pieslēdzieties serverim caur SSH kā lietotājs, kam pieder vietne (varat izmantot ttyd lietotni priekš FASTPANEL®)
  • Vietnes direktorijā palaidiet Docusaurus instalēšanu
npx20.15.1 create-docusaurus -j ./docs
  • Kad tiek prasīts atlasīt veidni, atbildiet classic (recommended)

  • Pēc instalēšanas aizstājiet vienu rindu failā docs/package.json

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

$SERVICE_PORT ir sistēmas mainīgais, kas iestatīts FASTPANEL®

  • Vadības panelī dodieties uz "site settings" -> "Backend"

  • Atlasiet apstrādātāju Standalone vai PM2.

  • Izvēlieties vajadzīgo Node.js versiju.

  • Norādiet darba mapi docs

  • Laukā Launch command ievadiet: npm run start

  • Saglabājiet. Pagaidiet, līdz lietotne tiks kompilēta (informācija parādīsies žurnālos). Pārbaudiet vietni

Next.js

Izmantojot Next.js ar Node.js 20.19 kā piemēru, izveidosim vienkāršu tīmekļa serveri:

  • Pieslēdzieties serverim caur SSH kā lietotājs, kam pieder vietne (varat arī izmantot ttyd lietotni FASTPANEL®).
  • Vietnes direktorijā palaidiet projekta inicializācijas komandu:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Pievienojiet blokam scripts failā package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Izveidojiet direktoriju pages un tajā pievienojiet failu ar nosaukumu 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
  • Palaidiet projekta būvēšanu.
yarn20.19.4 build
  • Vadības panelī dodieties uz "site settings" -> "Backend"
  • Atlasiet apstrādātāju Standalone vai PM2.
  • Izvēlieties vajadzīgo Node.js versiju.
  • Laukā Launch command ievadiet: yarn run start.
  • Saglabājiet. Pagaidiet, līdz lietotne tiks kompilēta (informācija parādīsies žurnālos). Pārbaudiet vietni

Papildu informācija

Režīmā Standalone tiek palaists Node.js process, lai izpildītu jūsu skriptus.

Režīmā PM2 Node.js procesu, žurnālu un sistēmas slodzes pārvaldībai tiek izmantots PM2 procesu pārvaldnieks.
Šis režīms ļauj arī norādīt worker skaitu — tas ir, Node.js procesu skaitu, kas apstrādā ienākošos pieprasījumus serverim.
Turklāt šis režīms nodrošina opciju Enable file watch — PM2 automātiski restartē jūsu lietotni, kad fails tiek mainīts pašreizējā direktorijā vai tās apakšdirektorijās. Lūdzu, ņemiet vērā, ka šis režīms rada papildu sistēmas slodzi un nav ieteicams produkcijas vidēm.

Līdzīgi varat konfigurēt lietotni, ja tai nepieciešams YARN nevis NPM

Jūs varat instalēt sava projekta atkarības, kas norādītas package.json, izmantojot YARN vai NPM tieši no FASTPANEL®. Lai to izdarītu, atveriet vietnes kartīti un dodieties uz sadaļu Services:

Node.js pakalpojumi

Žurnāli

Node.js lietotne var ģenerēt žurnālus. Programmā FASTPANEL® tie atrodas vietnes panelī, sadaļā Logs, cilnē "Backend log"

Konsoles komandas

Pēc Node.js instalēšanas FASTPANEL® lietotāji var strādāt ar saviem projektiem, izmantojot konsoles komandas, piemēram:

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

Piemērs:

$ 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 │
└────┴─────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘

Katras komandas nosaukumā ir iekļauts instalētās Node.js versijas numurs. Šajā piemērā pieejamā versija ir Node.js 20.15.1.