Publicado en

Cómo Publicar un Proyecto de Node.js en Linux

Si tenés un proyecto en Node.js y querés desplegarlo en un servidor Linux, esta guía te ayudará a configurarlo correctamente para que funcione en producción.

1. Preparar el Servidor

Antes de comenzar, asegurate de que tu servidor Linux esté actualizado y tenga instaladas las herramientas necesarias.

sudo apt update && sudo apt upgrade -y
sudo apt install curl git -y

2. Instalar Node.js y npm

Podés instalar Node.js desde el repositorio oficial de NodeSource:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

Verificá la instalación:

node -v
npm -v

3. Clonar el Proyecto y Configurar Dependencias

Subí tu código a un repositorio (GitHub, GitLab, etc.) y clonalo en tu servidor:

git clone https://github.com/usuario/proyecto-node.git
cd proyecto-node
npm install

4. Configurar Variables de Entorno

Si usás variables de entorno, creá un archivo .env:

touch .env
nano .env

Agregá las variables necesarias:

PORT=3000
DATABASE_URL=mongodb://usuario:password@host:puerto/db

Guardá y cerrá con CTRL + X, Y y Enter.

5. Usar PM2 para Ejecutar el Proyecto

Para mantener tu aplicación corriendo, usá PM2:

sudo npm install -g pm2
pm2 start index.js --name "mi-app"
pm2 save
pm2 startup

Esto iniciará el proyecto y lo configurará para que se inicie automáticamente tras un reinicio del servidor.

6. Configurar Nginx como Proxy Reverso

Si querés que tu aplicación esté disponible en un dominio o subdominio, configurá Nginx:

sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/mi-app

Pegá la siguiente configuración:

server {
    listen 80;
    server_name midominio.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Guardá y activá la configuración:

sudo ln -s /etc/nginx/sites-available/mi-app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

7. Configurar HTTPS con Let’s Encrypt

Para obtener un certificado SSL gratuito:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d midominio.com

Esto activará HTTPS automáticamente.

8. Verificar que Todo Funciona

Abrí el navegador y visitá https://midominio.com. Si todo está bien, deberías ver tu aplicación corriendo.


Conclusión

Con estos pasos, tu aplicación de Node.js está corriendo de manera segura y optimizada en un servidor Linux. Ahora podés enfocarte en mejorar tu proyecto sin preocuparte por la infraestructura.

Si te sirvió esta guía, compartila y seguinos para más contenido sobre tecnología.

¡Éxitos con tu despliegue!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *