Cómo desplegar Astro con SSR en Node.js en tu plan Profesional o Avanzado

Sube tu proyecto Astro con el adaptador de Node, instala y construye desde el panel Node.js de Plesk y sirve las páginas generadas en el servidor, sin SSH.

Si tu Astro genera páginas en el servidor (formularios, contenido por usuario, datos que cambian en cada petición), necesita Node corriendo detrás del dominio. En los planes Profesional y Avanzado lo tienes con Node.js Toolkit: subes el proyecto, instalas y construyes desde el panel, y el servidor arranca tu aplicación sin que toques ninguna consola. Esta guía sigue un despliegue real de Astro 7 con el adaptador @astrojs/node en un subdominio.

Antes de empezar

Paso a paso

  1. Sube el proyecto sin node_modules ni dist a la carpeta del subdominio: un zip desde Archivos y Extraer archivos, como en Cómo publicar una web Astro en tu hosting sin Node en el servidor, o el 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 dist/server/entry.mjs y acepta. Avisará de que el archivo no existe: es normal, lo crea el build.

  3. Pulsa Activar Node.js. Aparecen Reiniciar app, Instalación de NPM y Ejecutar Script.

  4. Pulsa Instalación de NPM. Instala las dependencias de tu package.json en el servidor; tarda un minuto.

  5. Pulsa Ejecutar Script, escribe build y pulsa Ejecutar. En la ventana ves la salida de astro build hasta «Complete!», con la carpeta dist creada.

Diálogo Ejecutar Script del panel Node.js con el script build y la salida de astro build, adaptador @astrojs/node y Complete
  1. Pulsa el valor de Raíz del documento y elige dist/client en el árbol: ahí deja Astro los estáticos (imágenes, CSS, JS) para que el servidor web los sirva sin pasar por Node. Al cambiarla, Plesk mueve también la Raíz de la aplicación: vuelve a ponerla en la carpeta del proyecto (la del subdominio). El Archivo de inicio queda en dist/server/entry.mjs.
Panel Node.js con la versión 26, la raíz del documento en dist/client, la raíz de la aplicación en la carpeta del subdominio y el archivo de inicio dist/server/entry.mjs
  1. Pulsa Reiniciar app y abre https://tudominio.es. Tu Astro responde generado en el servidor.
Web Astro con SSR publicada, con la hora del servidor pintada en la página
  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 la página dos veces: si tienes algo dinámico (una hora, un contador), cambia en cada carga. En la pestaña Panel no queda ningún aviso rojo. Las imágenes y el CSS llegan desde /_astro/ sin error.

Si algo falla

  • 503 o «Web application could not be started»: el archivo de inicio no existe o el build falló. Repite Ejecutar Scriptbuild y lee la salida hasta el error; suele ser una dependencia que falta o una versión de Node distinta a la de tu ordenador, que cambias en Versión de Node.js (Cómo usar npm y cambiar la versión de Node.js).
  • La página carga pero sin estilos ni imágenes: la Raíz del documento no apunta a dist/client.
  • «Cannot find module» al arrancar: Instalación de NPM no se ejecutó después de subir el código, o subiste node_modules de tu ordenador con binarios de otro sistema; bórrala y vuelve a instalar desde el panel.
  • Necesitas variables de entorno (claves de una API, la URL de una base de datos): en Variables de entorno personalizadasespecificar, y Reiniciar app.
  • Tu Astro es estático y no necesita nada de esto: sigue Cómo publicar una web Astro en tu hosting sin Node en el servidor, vale para cualquier plan.
  • 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,...