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
- Un plan Profesional o Avanzado (Qué incluye tu plan de hosting: recursos, límites y permisos) y un subdominio para la aplicación (Cómo crear un subdominio y qué puedes montar en él), con certificado (Cómo activar un certificado Let's Encrypt gratis en tu dominio).
- Tu proyecto con el adaptador de Node en modo
standalone:npx astro add nodelo añade aastro.config.mjs. Ponoutput: 'server'si quieres todas las páginas dinámicas, o marca solo algunas conexport const prerender = false. - Comprueba en local que
npm run buildtermina y quenode dist/server/entry.mjssirve la web. Lo que no arranca en tu ordenador tampoco arrancará aquí.
Paso a paso
-
Sube el proyecto sin
node_modulesnidista 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 elindex.htmlde bienvenida de Plesk. -
En el subdominio, abre Node.js. Pulsa el valor de Archivo de inicio de la aplicación, escribe
dist/server/entry.mjsy acepta. Avisará de que el archivo no existe: es normal, lo crea el build. -
Pulsa Activar Node.js. Aparecen Reiniciar app, Instalación de NPM y Ejecutar Script.
-
Pulsa Instalación de NPM. Instala las dependencias de tu
package.jsonen el servidor; tarda un minuto. -
Pulsa Ejecutar Script, escribe
buildy pulsa Ejecutar. En la ventana ves la salida deastro buildhasta «Complete!», con la carpetadistcreada.
- Pulsa el valor de Raíz del documento y elige
dist/clienten 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 endist/server/entry.mjs.
- Pulsa Reiniciar app y abre
https://tudominio.es. Tu Astro responde generado en el servidor.
- Para actualizar: sube el código nuevo, Ejecutar Script →
buildy 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 Script →
buildy 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_modulesde 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 personalizadas → especificar, 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.