Pereiti prie pagrindinio turinio

Node.js

Įvadas

Node.js yra serverio platforma, skirta programoms, parašytoms JavaScript kalba, vykdyti.

Pirmiausia turite įdiegti Node.js:

  • Eikite į "Settings" -> "Applications"

Programų valdymo meniu FASTPANEL

  • Spustelėkite mygtuką "Install" prie reikiamos Node.js versijos

Node.js versijos diegimas FASTPANEL

Sukurkite svetainę:

  • Pasirinkite Node.js svetainės šabloną

Naujos svetainės konfigūracija FASTPANEL

  • Nurodykite domeną ir susijusius parametrus. Konfigūravimo etape galite pakeisti DB, FTP naudotoją ir Backend

Naujos svetainės konfigūracija FASTPANEL

  • Įkelkite programos failus į svetainės katalogą
  • Norėdami įdiegti priklausomybes, paleiskite npm20.15.1 install terminale (reikia įdiegti ttyd programą, skirtą FASTPANEL®)

Node.js priklausomybių diegimas

  • Paleiskite Node.js iš naujo, eidami į svetainės skydelį, tada atidarykite skyrių "Services".

Node.js paslaugos paleidimas iš naujo

Express karkasas

Naudodami Express karkasą kaip pavyzdį, sukurkime paprastą saityno serverį:

  • Prisijunkite prie serverio per SSH kaip naudotojas, kuriam priklauso svetainė (galite naudoti ttyd programą, skirtą FASTPANEL®)
  • Sukurkite failą app.js svetainės kataloge ir užpildykite jį toliau pateiktu 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}`);
});

  • Svetainės kataloge paleiskite komandą, kad įdiegtumėte express
npm20.15.1 install express
  • Eikite į svetainės skydelį, tada į skyrių Services
  • Paleiskite paslaugą iš naujo
  • Patikrinkite svetainę

Docusaurus

Naudodami Docusaurus saityno programą kaip pavyzdį, sukonfigūruokime nustatymus:

  • Prisijunkite prie serverio per SSH kaip naudotojas, kuriam priklauso svetainė (galite naudoti ttyd programą, skirtą FASTPANEL®)
  • Svetainės kataloge paleiskite Docusaurus diegimą
npx20.15.1 create-docusaurus -j ./docs
  • Kai būsite paraginti pasirinkti šabloną, atsakykite classic (recommended)

  • Po diegimo pakeiskite vieną eilutę faile docs/package.json

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

$SERVICE_PORT yra sistemos kintamasis, nustatytas FASTPANEL®

  • Valdymo pulte eikite į "site settings" -> "Backend"

  • Pasirinkite apdoroklę Standalone arba PM2.

  • Pasirinkite norimą Node.js versiją.

  • Nurodykite darbo aplanką docs

  • Lauke Launch command įveskite: npm run start

  • Išsaugokite. Palaukite, kol programa bus sukompiliuota (informacija bus rodoma žurnaluose). Patikrinkite svetainę

Next.js

Naudodami Next.js su Node.js 20.19 kaip pavyzdį, sukurkime paprastą saityno serverį:

  • Prisijunkite prie serverio per SSH kaip naudotojas, kuriam priklauso svetainė (taip pat galite naudoti ttyd programą sistemoje FASTPANEL®).
  • Svetainės kataloge paleiskite projekto inicijavimo komandą:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Pridėkite bloką scripts į failą package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Sukurkite katalogą pages ir jame pridėkite failą pavadinimu 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
  • Paleiskite projekto komponavimą.
yarn20.19.4 build
  • Valdymo pulte eikite į "site settings" -> "Backend"
  • Pasirinkite apdoroklę Standalone arba PM2.
  • Pasirinkite norimą Node.js versiją.
  • Lauke Launch command įveskite: yarn run start.
  • Išsaugokite. Palaukite, kol programa bus sukompiliuota (informacija bus rodoma žurnaluose). Patikrinkite svetainę

Papildoma informacija

Veikiant Standalone režimu, jūsų scenarijams vykdyti paleidžiamas Node.js procesas.

Veikiant PM2 režimu, Node.js procesams, žurnalams ir sistemos apkrovai valdyti naudojama PM2 procesų tvarkytuvė.
Šis režimas taip pat leidžia nurodyti vykdytojų skaičių, tai yra Node.js procesų, apdorojančių į serverį gaunamas užklausas, skaičių.
Be to, šis režimas suteikia parinktį Enable file watch — PM2 automatiškai paleidžia jūsų programą iš naujo, kai failas pakeičiamas dabartiniame kataloge arba jo pakatalogiuose. Atminkite, kad šis režimas sukuria papildomą sistemos apkrovą ir nerekomenduojamas gamybinėms aplinkoms.

Panašiai galite sukonfigūruoti programą, jei jai vietoj NPM reikalingas YARN

Galite įdiegti savo projekto priklausomybes, išvardytas package.json, naudodami YARN arba NPM tiesiogiai iš FASTPANEL®. Norėdami tai padaryti, atidarykite svetainės kortelę ir eikite į skyrių Services:

Node.js paslaugos

Žurnalai

Node.js programa gali generuoti žurnalus. Sistemoje FASTPANEL® jie yra svetainės skydelyje, skyriuje Logs, skirtuke "Backend log"

Konsolės komandos

Įdiegę Node.js į FASTPANEL®, naudotojai gali dirbti su savo projektais naudodami konsolės komandas, tokias kaip:

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

Pavyzdys:

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

Kiekvienos komandos pavadinime yra įdiegtos Node.js versijos numeris. Šiame pavyzdyje galima versija yra Node.js 20.15.1.