Saltar al contenido principal

Node.js

Introducción

Node.js es una plataforma de servidor que ejecuta aplicaciones escritas en JavaScript.

Primero, necesita instalar Node.js:

  • Vaya a "Configuración" -> "Aplicaciones"

Menú de gestión de aplicaciones en FASTPANEL

  • Haga clic en el botón "Instalar" para la versión de Node.js requerida

Instalar versión de Node.js en FASTPANEL

Cree un sitio web:

  • Seleccione una plantilla para un sitio web Node.js

Nueva configuración del sitio en FASTPANEL

  • Especifique el dominio y los parámetros relacionados. En la etapa de configuración puede cambiar la BD, el usuario FTP y el Backend

Nueva configuración del sitio en FASTPANEL

  • Cargue los archivos de la aplicación en el directorio del sitio web
  • Para instalar dependencias ejecute npm20.15.1 install en Terminal (es necesario instalar la aplicación ttyd para FASTPANEL®)

Instalar dependencias de Node.js

  • Reinicie Node.js yendo al panel del sitio y luego abriendo la sección "Servicios".

Reiniciar servicio de Node.js

Framework Express

Usando el framework Express como ejemplo, creemos un servidor web simple:

  • Conéctese al servidor mediante SSH como el usuario propietario del sitio (puede usar la aplicación ttyd para FASTPANEL®)
  • Cree un archivo app.js en el directorio del sitio web y complételo con el siguiente código:
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}`);
});

  • En el directorio del sitio web, ejecute el comando para instalar express
npm20.15.1 install express
  • Vaya al panel del sitio y luego a la sección Servicios
  • Reinicie el servicio
  • Compruebe el sitio web

Docusaurus

Usando la aplicación web Docusaurus como ejemplo, configuremos los ajustes:

  • Conéctese al servidor mediante SSH como el usuario propietario del sitio (puede usar la aplicación ttyd para FASTPANEL®)
  • En el directorio del sitio web, ejecute la instalación de Docusaurus
npx20.15.1 create-docusaurus -j ./docs
  • Cuando se le pida seleccionar una plantilla, responda classic (recommended)

  • Después de la instalación, reemplace una línea en el archivo docs/package.json

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

$SERVICE_PORT es una variable del sistema establecida en FASTPANEL®

  • En el panel de control, vaya a "ajustes del sitio" -> "Backend"

  • Seleccione el controlador Standalone o PM2.

  • Elija la versión de Node.js deseada.

  • Especifique la carpeta de trabajo docs

  • En el campo Comando de inicio, introduzca: npm run start

  • Guarde. Espere a que la aplicación se compile (la información aparecerá en los registros). Compruebe el sitio web

Next.js

Usando Next.js con Node.js 20.19 como ejemplo, vamos a crear un servidor web sencillo:

  • Conéctese al servidor mediante SSH como el usuario propietario del sitio web (también puede usar la aplicación ttyd en FASTPANEL®).
  • En el directorio del sitio web, ejecute el comando de inicialización del proyecto:
yarn20.19.4 init -y
yarn20.19.4 add next react react-dom
  • Añada un bloque scripts al archivo package.json:
"scripts": {
"dev": "next dev -p $SERVICE_PORT",
"build": "next build",
"start": "next start -p $SERVICE_PORT"
}
  • Cree un directorio pages y, dentro de él, añada un archivo llamado 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
  • Ejecute la compilación del proyecto.
yarn20.19.4 build
  • En el panel de control, vaya a "ajustes del sitio" -> "Backend"
  • Seleccione el controlador Standalone o PM2.
  • Elija la versión de Node.js deseada.
  • En el campo Comando de inicio, introduzca: yarn run start.
  • Guarde. Espere a que la aplicación se compile (la información aparecerá en los registros). Compruebe el sitio web

Información adicional

En el modo Standalone, se inicia un proceso Node.js para ejecutar sus scripts.

En el modo PM2, se utiliza el gestor de procesos PM2 para administrar procesos Node.js, registros y carga del sistema.
Este modo también le permite especificar el número de workers, es decir, el número de procesos Node.js que manejan las solicitudes entrantes al servidor.
Además, este modo proporciona la opción Enable file watch — PM2 reinicia automáticamente su aplicación cuando se modifica un archivo en el directorio actual o en sus subdirectorios. Tenga en cuenta que este modo introduce una carga adicional en el sistema y no se recomienda para entornos de producción.

De forma similar, puede configurar la aplicación si requiere YARN en lugar de NPM

Puede instalar las dependencias de su proyecto listadas en package.json usando YARN o NPM directamente desde FASTPANEL®. Para ello, abra la tarjeta del sitio web y vaya a la sección Servicios:

Servicios de Node.js

Registros

Una aplicación Node.js puede generar registros. En FASTPANEL®, se encuentran en el panel del sitio, en la sección Registros, en la pestaña "Registro del Backend"

Comandos de consola

Después de instalar Node.js en FASTPANEL®, los usuarios pueden trabajar con sus proyectos usando comandos de consola como:

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

Ejemplo:

$ 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 nombre de comando incluye el número de versión de Node.js que se instaló. En este ejemplo, la versión disponible es Node.js 20.15.1.