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.