Ves al contingut principal

Node.js

Introducció

Node.js és una plataforma de servidor que executa aplicacions escrites en JavaScript.

Primer, heu d'instal·lar Node.js:

  • Aneu a "Configuració" -> "Aplicacions"

Menú de gestió d'aplicacions a FASTPANEL

  • Feu clic al botó "Instal·lar" per a la versió requerida de Node.js

Instal·lació de la versió de Node.js a FASTPANEL

Creeu un lloc web:

  • Seleccioneu una plantilla per a un lloc web Node.js

Configuració del lloc nou a FASTPANEL

  • Especifiqueu el domini i els paràmetres relacionats. A l'etapa de configuració podeu canviar la BD, l'usuari FTP i el Backend

Configuració del lloc nou a FASTPANEL

  • Pugeu els fitxers de l'aplicació al directori del lloc web
  • Per instal·lar les dependències, executeu npm20.15.1 install al Terminal (cal instal·lar l'aplicació ttyd per a FASTPANEL®)

Instal·lació de dependències de Node.js

  • Reinicieu Node.js anant al tauler del lloc i després obrint la secció "Serveis".

Reinici del servei Node.js

Framework Express

Utilitzant el framework Express com a exemple, creem un servidor web senzill:

  • Connecteu-vos al servidor mitjançant SSH com l'usuari propietari del lloc (podeu utilitzar l'aplicació ttyd per a FASTPANEL®)
  • Creeu un fitxer app.js al directori del lloc web i ompliu-lo amb el codi següent:
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}`);
});

  • Al directori del lloc web, executeu l'ordre per instal·lar express
npm20.15.1 install express
  • Aneu al tauler del lloc i després a la secció Serveis
  • Reinicieu el servei
  • Comproveu el lloc web

Docusaurus

Utilitzant l'aplicació web Docusaurus com a exemple, configurem els paràmetres:

  • Connecteu-vos al servidor mitjançant SSH com l'usuari propietari del lloc (podeu utilitzar l'aplicació ttyd per a FASTPANEL®)
  • Al directori del lloc web, executeu la instal·lació de Docusaurus
npx20.15.1 create-docusaurus -j ./docs
  • Quan se us demani que seleccioneu una plantilla, responeu classic (recommended)

  • Després de la instal·lació, substituïu una línia del fitxer docs/package.json

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

$SERVICE_PORT és una variable del sistema establerta a FASTPANEL®

  • Al tauler de control, aneu a "configuració del lloc" -> "Backend"

  • Seleccioneu el gestor Standalone o PM2.

  • Trieu la versió de Node.js desitjada.

  • Especifiqueu la carpeta de treball docs

  • Al camp de l'ordre d'inici, introduïu: npm run start

  • Desa. Espereu que l'aplicació es compili (la informació apareixerà als registres). Comproveu el lloc web

Next.js

Utilitzant Next.js amb Node.js 20.19 com a exemple, creem un servidor web senzill:

  • Connecteu-vos al servidor mitjançant SSH com l'usuari propietari del lloc web (també podeu utilitzar l'aplicació ttyd a FASTPANEL®).
  • Al directori del lloc web, executeu l'ordre d'inicialització del projecte:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Afegiu un bloc scripts al fitxer package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Creeu un directori pages i, a dins, afegiu-hi un fitxer anomenat 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
  • Executeu la compilació del projecte.
yarn20.19.4 build
  • Al tauler de control, aneu a "configuració del lloc" -> "Backend"
  • Seleccioneu el gestor Standalone o PM2.
  • Trieu la versió de Node.js desitjada.
  • Al camp de l'ordre d'inici, introduïu: yarn run start.
  • Desa. Espereu que l'aplicació es compili (la informació apareixerà als registres). Comproveu el lloc web

Informació addicional

En mode Standalone, s'inicia un procés de Node.js per executar els vostres scripts.

En mode PM2, s'utilitza el gestor de processos PM2 per gestionar els processos de Node.js, els registres i la càrrega del sistema.
Aquest mode també us permet especificar el nombre de workers, és a dir, el nombre de processos de Node.js que gestionen les sol·licituds entrants al servidor.
A més, aquest mode proporciona l'opció Enable file watch — PM2 reinicia automàticament la vostra aplicació quan es modifica un fitxer al directori actual o als seus subdirectoris. Tingueu en compte que aquest mode introdueix una càrrega addicional al sistema i no es recomana per a entorns de producció.

De la mateixa manera, podeu configurar l'aplicació si requereix YARN en lloc de NPM

Podeu instal·lar les dependències del vostre projecte que figuren a package.json utilitzant YARN o NPM directament des de FASTPANEL®. Per fer-ho, obriu la targeta del lloc web i aneu a la secció Serveis:

Serveis de Node.js

Registres

Una aplicació Node.js pot generar registres. A FASTPANEL®, es troben al tauler del lloc, a la secció Registres, a la pestanya "Registre del Backend"

Ordres de consola

Després d'instal·lar Node.js a FASTPANEL®, els usuaris poden treballar amb els seus projectes utilitzant ordres de consola com ara:

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

Exemple:

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

Cada nom d'ordre inclou el número de versió del Node.js instal·lat. En aquest exemple, la versió disponible és Node.js 20.15.1.