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!