Săriți la conținutul principal

Node.js

Introducere

Node.js este o platformă de server care rulează aplicații scrise în JavaScript.

Mai întâi, trebuie să instalați Node.js:

  • Accesați "Setări" -> "Aplicații"

Meniu de administrare a aplicațiilor în FASTPANEL

  • Faceți clic pe butonul "Instalare" pentru versiunea Node.js necesară

Instalare versiune Node.js în FASTPANEL

Creați un site web:

  • Selectați un șablon pentru un site web Node.js

Configurare site nou în FASTPANEL

  • Specificați domeniul și parametrii aferenți. În etapa de configurare puteți modifica BD, utilizatorul FTP și Backend-ul

Configurare site nou în FASTPANEL

  • Încărcați fișierele aplicației în directorul site-ului web
  • Pentru a instala dependențele rulați npm20.15.1 install în Terminal (este necesară instalarea aplicației ttyd pentru FASTPANEL®)

Instalare dependențe Node.js

  • Reporniți Node.js accesând tabloul de bord al site-ului și apoi deschizând secțiunea "Servicii".

Reporniți serviciul Node.js

Framework-ul Express

Folosind framework-ul Express ca exemplu, să creăm un server web simplu:

  • Conectați-vă la server prin SSH ca utilizatorul care deține site-ul (puteți folosi aplicația ttyd pentru FASTPANEL®)
  • Creați un fișier app.js în directorul site-ului web și completați-l cu următorul cod:
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}`);
});

  • În directorul site-ului web, rulați comanda pentru a instala express
npm20.15.1 install express
  • Accesați tabloul de bord al site-ului, apoi secțiunea Servicii
  • Reporniți serviciul
  • Verificați site-ul web

Docusaurus

Folosind aplicația web Docusaurus ca exemplu, să configurăm setările:

  • Conectați-vă la server prin SSH ca utilizatorul care deține site-ul (puteți folosi aplicația ttyd pentru FASTPANEL®)
  • În directorul site-ului web, rulați instalarea Docusaurus
npx20.15.1 create-docusaurus -j ./docs
  • Când vi se cere să selectați un șablon, răspundeți classic (recommended)

  • După instalare, înlocuiți o linie din fișierul docs/package.json

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

$SERVICE_PORT este o variabilă de sistem setată în FASTPANEL®

  • În panoul de control, accesați "setările site-ului" -> "Backend"

  • Selectați handlerul Standalone sau PM2.

  • Alegeți versiunea Node.js dorită.

  • Specificați folderul de lucru docs

  • În câmpul Comandă de lansare, introduceți: npm run start

  • Salvați. Așteptați compilarea aplicației (informațiile vor apărea în jurnale). Verificați site-ul web

Next.js

Folosind Next.js cu Node.js 20.19 ca exemplu, să creăm un server web simplu:

  • Conectați-vă la server prin SSH ca utilizatorul care deține site-ul web (puteți folosi și aplicația ttyd în FASTPANEL®).
  • În directorul site-ului web, rulați comanda de inițializare a proiectului:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Adăugați un bloc scripts în fișierul package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Creați un director pages și, în interiorul acestuia, adăugați un fișier numit 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
  • Rulați build-ul proiectului.
yarn20.19.4 build
  • În panoul de control, accesați "setările site-ului" -> "Backend"
  • Selectați handlerul Standalone sau PM2.
  • Alegeți versiunea Node.js dorită.
  • În câmpul Comandă de lansare, introduceți: yarn run start.
  • Salvați. Așteptați compilarea aplicației (informațiile vor apărea în jurnale). Verificați site-ul web

Informații suplimentare

În modul Standalone, este lansat un proces Node.js pentru a executa scripturile dvs.

În modul PM2, managerul de procese PM2 este utilizat pentru a gestiona procesele Node.js, jurnalele și încărcarea sistemului.
Acest mod vă permite, de asemenea, să specificați numărul de workeri — adică numărul de procese Node.js care gestionează cererile primite de server.
În plus, acest mod oferă opțiunea Enable file watch — PM2 repornește automat aplicația dvs. când un fișier este modificat în directorul curent sau în subdirectoarele sale. Rețineți că acest mod introduce încărcare suplimentară asupra sistemului și nu este recomandat pentru mediile de producție.

În mod similar, puteți configura aplicația dacă aceasta necesită YARN în loc de NPM

Puteți instala dependențele proiectului dvs. listate în package.json folosind YARN sau NPM direct din FASTPANEL®. Pentru a face acest lucru, deschideți cardul site-ului web și accesați secțiunea Servicii:

Servicii Node.js

Jurnale

O aplicație Node.js poate genera jurnale. În FASTPANEL®, acestea se află în tabloul de bord al site-ului, în secțiunea Jurnale, sub fila "Jurnal Backend"

Comenzi de consolă

După instalarea Node.js în FASTPANEL®, utilizatorii pot lucra cu proiectele lor folosind comenzi de consolă precum:

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

Exemplu:

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

Fiecare nume de comandă include numărul versiunii de Node.js care a fost instalată. În acest exemplu, versiunea disponibilă este Node.js 20.15.1.