Preskoči na glavni sadržaj

Node.js

Uvod

Node.js je serverska platforma koja pokreće aplikacije napisane u JavaScript-u.

Prvo je potrebno da instalirate Node.js:

  • Idite na "Podešavanja" -> "Aplikacije"

Meni za upravljanje aplikacijama u FASTPANEL-u

  • Kliknite na dugme "Install" za potrebnu Node.js verziju

Instalacija Node.js verzije u FASTPANEL-u

Kreirajte veb-sajt:

  • Izaberite šablon za Node.js veb-sajt

Nova konfiguracija sajta u FASTPANEL-u

  • Navedite domen i povezane parametre. U fazi konfiguracije možete promeniti DB, FTP korisnika i Backend

Nova konfiguracija sajta u FASTPANEL-u

  • Otpremite fajlove aplikacije u direktorijum veb-sajta
  • Da biste instalirali zavisnosti, pokrenite npm20.15.1 install u Terminalu (potrebno je instalirati ttyd aplikaciju za FASTPANEL®)

Instalacija Node.js zavisnosti

  • Restartujte Node.js tako što ćete otići na kontrolnu tablu sajta, a zatim otvoriti odeljak "Services".

Restartovanje Node.js servisa

Express okvir

Koristeći Express okvir kao primer, napravićemo jednostavan veb-server:

  • Povežite se sa serverom putem SSH-a kao korisnik koji je vlasnik sajta (možete koristiti ttyd aplikaciju za FASTPANEL®)
  • Kreirajte fajl app.js u direktorijumu veb-sajta i popunite ga sledećim kodom:
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}`);
});

  • U direktorijumu veb-sajta pokrenite komandu za instalaciju express-a
npm20.15.1 install express
  • Idite na kontrolnu tablu sajta, zatim u odeljak Services
  • Restartujte servis
  • Proverite veb-sajt

Docusaurus

Koristeći Docusaurus veb-aplikaciju kao primer, podesićemo podešavanja:

  • Povežite se sa serverom putem SSH-a kao korisnik koji je vlasnik sajta (možete koristiti ttyd aplikaciju za FASTPANEL®)
  • U direktorijumu veb-sajta pokrenite instalaciju Docusaurus-a
npx20.15.1 create-docusaurus -j ./docs
  • Kada se od vas zatraži da izaberete šablon, odgovorite classic (recommended)

  • Nakon instalacije, zamenite jednu liniju u fajlu docs/package.json

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

$SERVICE_PORT je sistemska promenljiva podešena u FASTPANEL®

  • U kontrolnoj tabli idite na "site settings" -> "Backend"

  • Izaberite rukovalac Standalone ili PM2.

  • Izaberite željenu Node.js verziju.

  • Navedite radni direktorijum docs

  • U polje Launch command unesite: npm run start

  • Sačuvajte. Sačekajte da se aplikacija kompajlira (informacije će se pojaviti u logovima). Proverite veb-sajt

Next.js

Koristeći Next.js sa Node.js 20.19 kao primer, hajde da kreiramo jednostavan veb server:

  • Povežite se sa serverom putem SSH-a kao korisnik koji je vlasnik veb-sajta (možete koristiti i ttyd aplikaciju u FASTPANEL®).
  • U direktorijumu veb-sajta pokrenite komandu za inicijalizaciju projekta:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Dodajte blok scripts u fajl package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Kreirajte direktorijum pages i u njemu dodajte fajl pod nazivom 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
  • Pokrenite izgradnju projekta.
yarn20.19.4 build
  • U kontrolnoj tabli idite na "site settings" -> "Backend"
  • Izaberite rukovalac Standalone ili PM2.
  • Izaberite željenu Node.js verziju.
  • U polje Launch command unesite: yarn run start.
  • Sačuvajte. Sačekajte da se aplikacija kompajlira (informacije će se pojaviti u logovima). Proverite veb-sajt

Dodatne informacije

U režimu Standalone, pokreće se Node.js proces za izvršavanje vaših skripti.

U režimu PM2, koristi se PM2 menadžer procesa za upravljanje Node.js procesima, logovima i opterećenjem sistema.
Ovaj režim vam takođe omogućava da navedete broj radnika — odnosno broj Node.js procesa koji obrađuju dolazne zahteve serveru.
Pored toga, ovaj režim pruža opciju Enable file watch — PM2 automatski restartuje vašu aplikaciju kada se fajl izmeni u trenutnom direktorijumu ili njegovim poddirektorijumima. Imajte na umu da ovaj režim uvodi dodatno opterećenje sistema i ne preporučuje se za produkciona okruženja.

Na sličan način možete konfigurisati aplikaciju ako zahteva YARN umesto NPM

Možete instalirati zavisnosti vašeg projekta navedene u package.json koristeći YARN ili NPM direktno iz FASTPANEL®. Da biste to uradili, otvorite karticu veb-sajta i idite u odeljak Services:

Node.js servisi

Logovi

Node.js aplikacija može generisati logove. U FASTPANEL®, oni se nalaze na kontrolnoj tabli sajta, u odeljku Logs, pod karticom "Backend log"

Komande konzole

Nakon instalacije Node.js u FASTPANEL®, korisnici mogu raditi sa svojim projektima koristeći komande konzole kao što su:

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

Primer:

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

Naziv svake komande uključuje broj verzije Node.js koja je instalirana. U ovom primeru, dostupna verzija je Node.js 20.15.1.