Hopp til hovedinnhold

Node.js

Innledning

Node.js er en serverplattform som kjører programmer skrevet i JavaScript.

Først må du installere Node.js:

  • Gå til "Innstillinger" -> "Programmer"

Administrasjonsmeny for programmer i FASTPANEL

  • Klikk på knappen "Installer" for den nødvendige Node.js-versjonen

Installer Node.js-versjon i FASTPANEL

Opprett et nettsted:

  • Velg en mal for et Node.js-nettsted

Ny nettstedskonfigurasjon i FASTPANEL

  • Angi domenet og relaterte parametere. På konfigurasjonsstadiet kan du endre DB, FTP-bruker og Backend

Ny nettstedskonfigurasjon i FASTPANEL

  • Last opp programfilene til nettstedskatalogen
  • For å installere avhengigheter kjører du npm20.15.1 install i Terminal (du må installere ttyd-programmet for FASTPANEL®)

Installer avhengigheter for Node.js

  • Start Node.js på nytt ved å gå til nettstedets dashbord og deretter åpne delen "Tjenester".

Start Node.js-tjeneste på nytt

Express-rammeverk

La oss opprette en enkel webserver med Express-rammeverket som eksempel:

  • Koble til serveren via SSH som brukeren som eier nettstedet (du kan bruke ttyd-programmet for FASTPANEL®)
  • Opprett en fil app.js i nettstedskatalogen og fyll den med følgende kode:
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}`);
});

  • Kjør kommandoen for å installere express i nettstedskatalogen
npm20.15.1 install express
  • Gå til nettstedets dashbord, deretter til delen Tjenester
  • Start tjenesten på nytt
  • Kontroller nettstedet

Docusaurus

La oss konfigurere innstillingene med Docusaurus-webprogrammet som eksempel:

  • Koble til serveren via SSH som brukeren som eier nettstedet (du kan bruke ttyd-programmet for FASTPANEL®)
  • Kjør installasjonen av Docusaurus i nettstedskatalogen
npx20.15.1 create-docusaurus -j ./docs
  • Når du blir bedt om å velge en mal, svarer du classic (recommended)

  • Etter installasjonen erstatter du én linje i filen docs/package.json

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

$SERVICE_PORT er en systemvariabel satt i FASTPANEL®

  • Gå til "nettstedinnstillinger" -> "Backend" i kontrollpanelet

  • Velg behandleren Standalone eller PM2.

  • Velg ønsket Node.js-versjon.

  • Angi arbeidsmappen docs

  • I feltet Launch command skriver du inn: npm run start

  • Lagre. Vent til programmet er kompilert (informasjon vises i loggene). Kontroller nettstedet

Next.js

Ved å bruke Next.js med Node.js 20.19 som eksempel, la oss opprette en enkel webserver:

  • Koble til serveren via SSH som brukeren som eier nettstedet (du kan også bruke ttyd-programmet i FASTPANEL®).
  • Kjør kommandoen for å initialisere prosjektet i nettstedskatalogen:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Legg til en scripts-blokk i filen package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Opprett en katalog pages og legg til en fil med navnet index.js i den:
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
  • Kjør prosjektbyggingen.
yarn20.19.4 build
  • Gå til "nettstedinnstillinger" -> "Backend" i kontrollpanelet
  • Velg behandleren Standalone eller PM2.
  • Velg ønsket Node.js-versjon.
  • I feltet Launch command skriver du inn: yarn run start.
  • Lagre. Vent til programmet er kompilert (informasjon vises i loggene). Kontroller nettstedet

Tilleggsinformasjon

I Standalone-modus startes en Node.js-prosess for å kjøre skriptene dine.

I PM2-modus brukes PM2-prosessbehandleren til å administrere Node.js-prosesser, logger og systembelastning.
Denne modusen lar deg også angi antall workere — det vil si antall Node.js-prosesser som håndterer innkommende forespørsler til serveren.
I tillegg tilbyr denne modusen alternativet Enable file watch — PM2 starter automatisk programmet ditt på nytt når en fil endres i gjeldende katalog eller underkatalogene. Vær oppmerksom på at denne modusen medfører ekstra systembelastning og ikke anbefales for produksjonsmiljøer.

På samme måte kan du konfigurere programmet hvis det krever YARN i stedet for NPM

Du kan installere prosjektets avhengigheter som er oppført i package.json ved å bruke YARN eller NPM direkte fra FASTPANEL®. For å gjøre dette åpner du nettstedkortet og går til delen Tjenester:

Node.js-tjenester

Logger

Et Node.js-program kan generere logger. I FASTPANEL® finner du dem i nettstedets dashbord, i delen Logger, under fanen "Backend log"

Konsollkommandoer

Etter at Node.js er installert i FASTPANEL®, kan brukere arbeide med prosjektene sine ved hjelp av konsollkommandoer som:

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

Eksempel:

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

Hvert kommandonavn inkluderer versjonsnummeret til Node.js som ble installert. I dette eksempelet er den tilgjengelige versjonen Node.js 20.15.1.