Hoppa till huvudinnehåll

Node.js

Introduktion

Node.js är en serverplattform som kör applikationer skrivna i JavaScript.

Först måste du installera Node.js:

  • Gå till "Inställningar" -> "Applikationer"

Meny för applikationshantering i FASTPANEL

  • Klicka på knappen "Installera" för den Node.js-version som krävs

Installera Node.js-version i FASTPANEL

Skapa en webbplats:

  • Välj en mall för en Node.js-webbplats

Ny webbplatskonfiguration i FASTPANEL

  • Ange domänen och relaterade parametrar. I konfigurationssteget kan du ändra DB, FTP-användare och Backend

Ny webbplatskonfiguration i FASTPANEL

  • Ladda upp applikationsfilerna till webbplatskatalogen
  • För att installera beroenden, kör npm20.15.1 install i Terminal (du måste installera applikationen ttyd för FASTPANEL®)

Node.js installera beroenden

  • Starta om Node.js genom att gå till webbplatsens instrumentpanel och sedan öppna avsnittet "Tjänster".

Node.js starta om tjänst

Express-ramverket

Låt oss skapa en enkel webbserver med Express-ramverket som exempel:

  • Anslut till servern via SSH som användaren som äger webbplatsen (du kan använda applikationen ttyd för FASTPANEL®)
  • Skapa en fil app.js i webbplatskatalogen och fyll den med följande kod:
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}`);
});

  • I webbplatskatalogen kör du kommandot för att installera express
npm20.15.1 install express
  • Gå till webbplatsens instrumentpanel och sedan till avsnittet Tjänster
  • Starta om tjänsten
  • Kontrollera webbplatsen

Docusaurus

Låt oss konfigurera inställningarna med Docusaurus-webbapplikationen som exempel:

  • Anslut till servern via SSH som användaren som äger webbplatsen (du kan använda applikationen ttyd för FASTPANEL®)
  • I webbplatskatalogen kör du installationen av Docusaurus
npx20.15.1 create-docusaurus -j ./docs
  • När du ombeds att välja en mall svarar du classic (recommended)

  • Efter installationen ersätter du en rad i filen docs/package.json

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

$SERVICE_PORT är en systemvariabel som anges i FASTPANEL®

  • Gå till "webbplatsinställningar" -> "Backend" i kontrollpanelen

  • Välj hanteraren Standalone eller PM2.

  • Välj önskad Node.js-version.

  • Ange arbetsmappen docs

  • I fältet Launch command anger du: npm run start

  • Spara. Vänta tills applikationen kompileras (information visas i loggarna). Kontrollera webbplatsen

Next.js

Med Next.js och Node.js 20.19 som exempel, låt oss skapa en enkel webbserver:

  • Anslut till servern via SSH som användaren som äger webbplatsen (du kan också använda applikationen ttyd i FASTPANEL®).
  • I webbplatskatalogen kör du kommandot för att initiera projektet:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Lägg till ett scripts-block i filen package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Skapa en katalog pages och lägg i den till en fil med namnet 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
  • Kör projektbygget.
yarn20.19.4 build
  • Gå till "webbplatsinställningar" -> "Backend" i kontrollpanelen
  • Välj hanteraren Standalone eller PM2.
  • Välj önskad Node.js-version.
  • I fältet Launch command anger du: yarn run start.
  • Spara. Vänta tills applikationen kompileras (information visas i loggarna). Kontrollera webbplatsen

Ytterligare information

I läget Standalone startas en Node.js-process för att köra dina skript.

I läget PM2 används processhanteraren PM2 för att hantera Node.js-processer, loggar och systembelastning.
Det här läget gör det också möjligt att ange antalet workers — alltså antalet Node.js-processer som hanterar inkommande förfrågningar till servern.
Dessutom erbjuder det här läget alternativet Enable file watch — PM2 startar automatiskt om din applikation när en fil ändras i den aktuella katalogen eller dess underkataloger. Observera att det här läget medför ytterligare systembelastning och inte rekommenderas för produktionsmiljöer.

På samma sätt kan du konfigurera applikationen om den kräver YARN i stället för NPM

Du kan installera projektets beroenden som listas i package.json med YARN eller NPM direkt från FASTPANEL®. För att göra detta öppnar du webbplatskortet och går till avsnittet Tjänster:

Node.js-tjänster

Loggar

En Node.js-applikation kan generera loggar. I FASTPANEL® finns de på webbplatsens instrumentpanel, i avsnittet Loggar, under fliken "Backend log"

Konsolkommandon

Efter att Node.js har installerats i FASTPANEL® kan användare arbeta med sina projekt med konsolkommandon som:

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

Exempel:

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

Varje kommandonamn innehåller versionsnumret för den Node.js-version som installerades. I det här exemplet är den tillgängliga versionen Node.js 20.15.1.