Errores comunes al desplegar Node.js y Next.js en Plesk (y cómo solucionarlos)
28 de abril de 2026 · Por Hilel Matitiahu Ruiz
Guía práctica de los errores más frecuentes al desplegar aplicaciones Node.js y Next.js en Plesk: 403, 500, document root, Passenger y variables de entorno.
Desplegar Node.js y Next.js en Plesk puede ser frustrante si no conocés los errores típicos. Después de resolver decenas de estos casos, estos son los problemas más frecuentes y sus soluciones.
Error 403 Forbidden
El más común. Plesk muestra 403 porque no encuentra un index.html en el document root. Next.js no genera HTML estático por defecto, necesita el servidor Node.js corriendo.
Solución: Verificar que Node.js esté activado en el dominio, que el application root apunte a la carpeta correcta (donde está package.json), que el document root apunte a la misma carpeta o a .next/standalone y que el puerto configurado coincida con process.env.PORT en producción.
Error 500 Internal Server Error
Node.js arrancó pero la app falla. Generalmente por variables de entorno faltantes, dependencias no instaladas o error en el código.
Solución: Revisar logs de Plesk en /var/www/vhosts/dominio/logs/. Verificar npm install en producción. Confirmar que las variables de entorno (DB_HOST, SMTP_HOST, etc.) estén configuradas en Plesk > Node.js > Environment.
Application root incorrecto
Plesk ejecuta node server.js desde el application root. Si este apunta a una subcarpeta incorrecta, la app no encuentra los archivos.
Solución: Application root debe ser la carpeta que contiene package.json, server.js y node_modules. Típicamente /httpdocs o una subcarpeta del proyecto.
Node version incorrecta
Next.js 14+ requiere Node 18+. Si Plesk tiene Node 14 o 16, el build falla con errores de sintaxis.
Solución: En Plesk > Node.js seleccionar la versión correcta. Si no aparece, instalar una versión más reciente desde Plesk > Updates o el gestor de paquetes del servidor.
Pasajero/Passenger no detecta la app
Plesk usa Passenger para gestionar apps Node.js. Si passenger no detecta la app, no la inicia aunque Node.js esté configurado.
Solución: Asegurar que el archivo server.js (o app.js) esté en el application root. Configurar passenger con un .htaccess si es necesario. Reiniciar Passenger desde Plesk > Node.js.
Variables de entorno no llegan
Configuraste las variables en .env.local pero no funcionan en producción. Esto es porque Next.js en producción solo lee variables de entorno del sistema, no de archivos .env.
Solución: Configurar variables en Plesk > Node.js > Environment, no en archivos .env. O usar un server.js personalizado que cargue dotenv en producción.
Mejores prácticas para despliegues Plesk
- Mantener un server.js simple que solo inicie Next.js en el puerto asignado
- Documentar todas las variables de entorno necesarias
- Hacer backup antes de tocar configuración de producción
- Probar con npm run build && npm run start localmente antes de desplegar
- Configurar healthcheck /api/health para monitoreo
Artículos relacionados
Dominio, DNS, SSL y correo: la configuración técnica que todo negocio debería tener ordenada
Guía práctica para configurar dominio, registros DNS (A, MX, TXT, CNAME), SSL con Let's Encrypt y correo corporativo. Si...
Auditoría webPor qué tu web no genera clientes (y cómo arreglarlo con una auditoría)
El 85% de las webs profesionales no convierten visitas en solicitudes. Aquí explico las 7 causas técnicas y comerciales ...
¿Necesitas ayuda con tu proyecto web?
Audito, corrijo y construyo webs, tiendas online y sistemas internos. Cuéntame tu caso y recibe una ruta clara en menos de 24 horas.
Cotizar proyecto