Variables
| Título | Variable | Ejemplo | Descripción | Cambiar |
|---|---|---|---|---|
| Tu usuario | tu_usuario | ubuntu | El usuario de ubuntu que estamos utilizando. | |
| Versión NodeJS | versión_nodejs | 14.x | La versión de NodeJS que queremos instalar. |
Instalar NodeJS en un servidor con Nginx en Ubuntu Server
Introducción
En esta publicación, vamos a aprender a instalar y configurar el entorno de NodeJS, sobre Nginx en Ubuntu Server 21.04.
Primeros Pasos
sudo suapt updateapt upgradeAñadir repositorio de NodeJS
Para tener la última versión de nodejs, vamos a añadir el repositorio nodesource, ya que APT no suele tener la última versión.
Con CURL, vamos a descargar el archivo bash que posteriormente ejecutaremos. Este archivo lo llamaremos nodesource_setup.sh.
cd ~curl -sL https://deb.nodesource.com/setup_versión_nodejs -o nodesource_setup.shUna vez descargado, vamos a ejecutar el archivo que nos ha generado.
Si queremos ver que hace podemos ejecutar el segundo comando.
bash nodesource_setup.shnano nodesource_setup.shInstalar NodeJS
Instalar NodeJS con el repositorio APT
Lo primero que vamos a hacer es instalar nodejs.
apt install nodejsVersiones
Si queremos ver que versión de nodejs y npm hemos instalado, podemos poner los siguientes comandos.
nodejs -vnpm -vInstalaciones extra
apt install build-essentialResultado
Llegados a este punto, ya disponemos de todos los paquetes necesarios para funcionar con npm.
Crear el backend
Crear el archivo server.js
Vamos a crear un ejemplo de backend nodejs para al final comprobar que todo ha salido bien.
Para esto, vamos a crear un archivo, server.js y vamos a introducirle el siguiente código.
cd ~nano server.jsComprobar que server.js funciona
La aplicación Node.js escucha la dirección especificada (localhost) y el puerto (3000), y responde “NodeJS works in Nginx!” con un código de éxito HTTP 200.
Al escuchar en localhost, los clientes remotos no podrán conectarse a nuestra aplicación.
node server.jsInstalar PM2
Instalar PM2
Ahora vamos a instalar un administrador de procesos para aplicaciones de Node.js.
PM2 permite implementar demonios en aplicaciones para que puedan funcionar en segundo plano como servicios.
Con la opción -g npm instalará el módulo de forma global, para que esté disponible en todo el sistema.
npm install pm2@latest -gIniciar server.js en segundo plano
Vamos a usar el comando pm2 start para ejecutar su aplicación, server.js, en segundo plano.
pm2 start server.jsInicializar pm2 en el arranque
Con el siguiente comando pm2 se inicializará en el arranque, con todos sus subservicios.
pm2 startup systemdConfigurar el inicio en el arranque
El comando anterior nos dará como resultado el siguiente comando:
Cambiaremos tu_usuario por nuestro usuario y ejecutaremos el siguiente comando.
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u tu_usuario --hp /home/tu_usuarioGuardar la lista de procesos de PM2
Como paso adicional, podemos guardar la lista de procesos de PM2 y los entornos correspondientes.
pm2 saveIniciar el servicio de PM2
Hemos creado una unidad de systemd que ejecuta pm2 para nuestro usuario en el inicio, que a su vez, ejecuta server.js.
Para arrancar el servicio, vamos a poner el siguiente comando cambiando tu_usuario por nuestro usuario.
Si nos da error, podemos reiniciar ubuntu con reboot.
service pm2-tu_usuario startComandos PM2
| Comando | Acción |
|---|---|
| pm2 stop nombre_app | Detener una aplicación. |
| pm2 restart nombre_app | Reiniciar una aplicación. |
| pm2 list | Listar las aplicaciones administradas por PM2. |
| pm2 info nombre_app | Información sobre una aplicación específica. |
| pm2 monit | Estado y uso de CPU de PM2. |