Siirry pääsisältöön

Node.js

Johdanto

Node.js on palvelinalusta, jolla suoritetaan JavaScriptillä kirjoitettuja sovelluksia.

Ensin sinun on asennettava Node.js:

  • Siirry kohtaan "Asetukset" -> "Sovellukset"

Sovellusten hallintavalikko FASTPANELissa

  • Napsauta tarvittavan Node.js-version kohdalla painiketta "Asenna"

Asenna Node.js-versio FASTPANELissa

Luo verkkosivusto:

  • Valitse Node.js-verkkosivuston malli

Uuden sivuston määritys FASTPANELissa

  • Määritä verkkotunnus ja siihen liittyvät parametrit. Määritysvaiheessa voit vaihtaa DB:n, FTP-käyttäjän ja Backendin

Uuden sivuston määritys FASTPANELissa

  • Lataa sovelluksen tiedostot verkkosivuston hakemistoon
  • Asenna riippuvuudet suorittamalla npm20.15.1 install Terminalissa (ttyd-sovellus on asennettava FASTPANEL®iin)

Node.js-riippuvuuksien asennus

  • Käynnistä Node.js uudelleen siirtymällä sivuston hallintapaneeliin ja avaamalla sitten osio "Palvelut".

Node.js-palvelun uudelleenkäynnistys

Express-kehys

Luodaan yksinkertainen verkkopalvelin käyttämällä esimerkkinä Express-kehystä:

  • Yhdistä palvelimeen SSH:n kautta sivuston omistajana olevalla käyttäjällä (voit käyttää myös ttyd-sovellusta FASTPANEL®issa)
  • Luo tiedosto app.js verkkosivuston hakemistoon ja lisää siihen seuraava koodi:
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}`);
});

  • Suorita verkkosivuston hakemistossa komento expressin asentamiseksi
npm20.15.1 install express
  • Siirry sivuston hallintapaneeliin ja sitten Palvelut-osioon
  • Käynnistä palvelu uudelleen
  • Tarkista verkkosivusto

Docusaurus

Määritetään asetukset käyttämällä esimerkkinä Docusaurus-verkkosovellusta:

  • Yhdistä palvelimeen SSH:n kautta sivuston omistajana olevalla käyttäjällä (voit käyttää myös ttyd-sovellusta FASTPANEL®issa)
  • Suorita Docusauruksen asennus verkkosivuston hakemistossa
npx20.15.1 create-docusaurus -j ./docs
  • Kun sinua pyydetään valitsemaan malli, vastaa classic (recommended)

  • Asennuksen jälkeen korvaa yksi rivi tiedostossa docs/package.json

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

$SERVICE_PORT on järjestelmämuuttuja, joka on asetettu FASTPANEL®issa

  • Siirry ohjauspaneelissa kohtaan "sivuston asetukset" -> "Backend"

  • Valitse käsittelijäksi Standalone tai PM2.

  • Valitse haluttu Node.js-versio.

  • Määritä työkansio docs

  • Kirjoita Launch command -kenttään: npm run start

  • Tallenna. Odota, että sovellus käännetään (tiedot näkyvät lokeissa). Tarkista verkkosivusto

Next.js

Käytetään esimerkkinä Next.js:ää Node.js 20.19:n kanssa ja luodaan yksinkertainen verkkopalvelin:

  • Yhdistä palvelimeen SSH:n kautta käyttäjänä, joka omistaa verkkosivuston (voit myös käyttää ttyd-sovellusta FASTPANEL®issa).
  • Suorita verkkosivuston hakemistossa projektin alustamiskomento:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Lisää scripts-lohko tiedostoon package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Luo hakemisto pages ja lisää sen sisään tiedosto nimeltä 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
  • Suorita projektin build.
yarn20.19.4 build
  • Siirry ohjauspaneelissa kohtaan "sivuston asetukset" -> "Backend"
  • Valitse käsittelijäksi Standalone tai PM2.
  • Valitse haluttu Node.js-versio.
  • Kirjoita Launch command -kenttään: yarn run start.
  • Tallenna. Odota, että sovellus käännetään (tiedot näkyvät lokeissa). Tarkista verkkosivusto

Lisätietoja

Standalone-tilassa käynnistetään Node.js-prosessi skriptiesi suorittamista varten.

PM2-tilassa Node.js-prosessien, lokien ja järjestelmäkuorman hallintaan käytetään PM2-prosessinhallintaa.
Tässä tilassa voit myös määrittää workerien määrän — eli niiden Node.js-prosessien määrän, jotka käsittelevät palvelimelle saapuvia pyyntöjä.
Lisäksi tässä tilassa on Enable file watch -vaihtoehto — PM2 käynnistää sovelluksesi automaattisesti uudelleen, kun nykyisessä hakemistossa tai sen alihakemistoissa olevaa tiedostoa muokataan. Huomaa, että tämä tila lisää järjestelmän kuormitusta, eikä sitä suositella tuotantoympäristöihin.

Vastaavasti voit määrittää sovelluksen, jos se vaatii YARNin NPM:n sijaan

Voit asentaa projektisi package.json-tiedostossa luetellut riippuvuudet käyttämällä YARNia tai NPM:ää suoraan FASTPANEL®ista. Avaa tätä varten verkkosivuston kortti ja siirry Palvelut-osioon:

Node.js-palvelut

Lokit

Node.js-sovellus voi tuottaa lokeja. FASTPANEL®issa ne sijaitsevat sivuston hallintapaneelissa Lokit-osiossa välilehdellä "Backend log"

Konsolikomennot

Kun Node.js on asennettu FASTPANEL®iin, käyttäjät voivat työskennellä projektiensa kanssa käyttämällä konsolikomentoja, kuten:

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

Esimerkki:

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

Jokainen komennon nimi sisältää asennetun Node.js-version numeron. Tässä esimerkissä käytettävissä oleva versio on Node.js 20.15.1.