You don't have javascript enabled. Good luck with that.

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 upgrade
Copiar

Añ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.sh
Copiar

Una 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.sh
Copiar

Instalar NodeJS

Instalar NodeJS con el repositorio APT

Lo primero que vamos a hacer es instalar nodejs.

apt install nodejs
Copiar

Versiones

Si queremos ver que versión de nodejs y npm hemos instalado, podemos poner los siguientes comandos.

nodejs -vnpm -v
Copiar

Instalaciones extra

Vamos a instalar el paquete build-essential, para que funcionen los paquetes que compilen el código de fuente.

apt install build-essential
Copiar

Resultado

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.js
Copiar
server.js Copiar

Comprobar 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.js
Copiar

Instalar 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 -g
Copiar

Iniciar 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.js
Copiar

Inicializar pm2 en el arranque

Con el siguiente comando pm2 se inicializará en el arranque, con todos sus subservicios.

pm2 startup systemd
Copiar

Configurar 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_usuario
Copiar

Guardar la lista de procesos de PM2

Como paso adicional, podemos guardar la lista de procesos de PM2 y los entornos correspondientes.

pm2 save
Copiar

Iniciar 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 start
Copiar

Comandos PM2

ComandoAcción
pm2 stop nombre_appDetener una aplicación.
pm2 restart nombre_appReiniciar una aplicación.
pm2 listListar las aplicaciones administradas por PM2.
pm2 info nombre_appInformación sobre una aplicación específica.
pm2 monitEstado y uso de CPU de PM2.

Configurar Nginx como servidor Proxy inverso

Creador

Adur Marques