Cómo desplegar Nuxt con SSR en tu hosting Profesional o Avanzado

Sube tu proyecto Nuxt, instala y construye desde el panel Node.js de Plesk, apunta la raíz del documento a .output/public y sirve páginas y rutas de API en Node.

Nuxt genera sus páginas en el servidor con Nitro, y en los planes Profesional y Avanzado eso corre bajo Node.js Toolkit sin tocar ninguna consola: subes el proyecto, el panel instala y construye, y el servidor arranca tu aplicación. Las rutas de API de server/api van en el mismo proceso. Esta guía sigue un despliegue real de Nuxt 4 en un subdominio del hosting; el camino es el mismo que en Astro (Cómo desplegar Astro con SSR en Node.js en tu plan Profesional o Avanzado) y Next.js (Cómo desplegar Next.js con SSR en tu hosting Profesional o Avanzado).

Antes de empezar

Paso a paso

  1. Sube el proyecto sin node_modules, .nuxt ni .output a la carpeta nuxt: un zip desde Archivos y Extraer archivos (Cómo publicar una web Astro en tu hosting sin Node en el servidor), o tu repositorio Git (Cómo desplegar tu web desde GitHub, GitLab o Bitbucket). Borra el index.html de bienvenida de Plesk.

  2. En el subdominio, abre Node.js. Pulsa el valor de Archivo de inicio de la aplicación, escribe .output/server/index.mjs y acepta. Avisará de que el archivo no existe: lo crea el build.

  3. Pulsa Activar Node.js y después Instalación de NPM. Tarda alrededor de un minuto.

  4. Pulsa Ejecutar Script, escribe build y pulsa Ejecutar. En la ventana ves la salida de Nitro con la lista de archivos de .output/server y, al final, «Build complete!».

Diálogo Ejecutar Script del panel Node.js con el script build y la salida de Nitro terminando en Build complete
  1. Pulsa el valor de Raíz del documento, despliega la carpeta nuxt en el árbol, después .output, y elige public: ahí deja Nuxt los estáticos (_nuxt, imágenes, robots.txt) para que el servidor web los sirva sin pasar por Node. Al cambiarla, Plesk mueve la Raíz de la aplicación a .output: vuelve a ponerla en nuxt. El Archivo de inicio queda en .output/server/index.mjs.
Panel Node.js con la versión 26, la raíz del documento en nuxt/.output/public, la raíz de la aplicación en nuxt y el archivo de inicio .output/server/index.mjs
  1. Pulsa Reiniciar app y abre https://nuxt.tudominio.es. La primera petición tarda unos segundos (arranca Node); las siguientes salen al momento.
Web Nuxt publicada con la hora del servidor pintada en cada petición y la respuesta de una ruta de API
  1. Para actualizar: sube el código nuevo, Ejecutar Scriptbuild y Reiniciar app. Si cambiaste dependencias, antes Instalación de NPM.

Cómo comprobar que ha funcionado

Recarga dos veces una página con algo dinámico (una hora, datos de una API): cambia en cada carga. Una ruta de server/api responde en JSON en https://nuxt.tudominio.es/api/lo-que-sea. Los archivos de /_nuxt/ y las imágenes de public cargan en 200 (F12 → Red). En el panel Node.js no queda ningún aviso rojo.

Si algo falla

  • 503 o «Web application could not be started»: no existe .output/server/index.mjs; el build falló. Repite el paso 4 y lee la salida hasta el error.
  • La página carga sin estilos ni JavaScript, o /_nuxt/... da 404: la Raíz del documento no está en .output/public. Si en el árbol no ves .output, es que el build aún no ha terminado.
  • Todo da 404 después de cambiar la raíz del documento: la Raíz de la aplicación se quedó en .output; ponla en nuxt y reinicia.
  • Necesitas variables de entorno: Nuxt sobrescribe al arrancar cualquier clave de runtimeConfig con la variable NUXT_ del mismo nombre (apiSecretNUXT_API_SECRET, public.apiBaseNUXT_PUBLIC_API_BASE). En Variables de entorno personalizadasespecificar, y Reiniciar app; no hace falta reconstruir.
  • El build se queda sin memoria («JavaScript heap out of memory»): construye en tu ordenador y sube la carpeta .output ya hecha; el panel solo la arranca.
  • Cualquier otra cosa: abre un ticket desde tu área de cliente (Cómo abrir un ticket de soporte y que se resuelva a la primera) con la salida del build o el error de la página.

Relacionados

  • 0 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Artículos Relacionados

Cómo publicar una aplicación Node.js en tu hosting

Crea tu app.js y tu package.json, actívalos con Node.js Toolkit y deja la raíz del documento en...

Cómo desplegar tu web desde GitHub, GitLab o Bitbucket

Conecta un repositorio Git de GitHub, GitLab o Bitbucket a tu subdominio, elige el modo de...

Cómo instalar Laravel en tu hosting con Laravel Toolkit

Instala el esqueleto de Laravel en tu subdominio con Laravel Toolkit y entérate de por qué la web...

Cómo conectar Laravel a una base de datos MariaDB

Crea la base de datos MariaDB, edita el archivo .env y ejecuta las migraciones para que tu...

Cómo ejecutar Artisan, Composer y npm desde el panel

Lanza comandos habituales de Artisan, Composer y npm en tu aplicación Laravel sin acceso SSH,...