[{"data":1,"prerenderedAt":136},["ShallowReactive",2],{"seo-verification":3,"blog-desplegar-aplicacion-sveltekit-en-un-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-desplegar-aplicacion-sveltekit-en-un-vps-es",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":83,"ctaBody":84,"ctaButton":85,"ctaUrl":86,"relatedPosts":87},53,"desplegar-aplicacion-sveltekit-en-un-vps",{"fr":12,"en":13,"ar":14,"es":10},"deployer-sveltekit-vps","deploying-a-sveltekit-application-on-a-vps","نشر-تطبيق-sveltekit-على-خادم-vps","Desplegar una aplicación SvelteKit en un VPS","Despliegue una app SvelteKit en un VPS Cloud con el adaptador Node, Docker, PM2, reverse proxy y SSL. Tutorial para desarrolladores front.",3,0,false,"2026-04-28T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},4,"Desarrollo","developpement","bg-warning\u002F10 text-warning","dev",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-sveltekit-vps-poster.svg",{"categorySlug":34,"appSlug":35},"desarrollo","sveltekit-stack","SvelteKit produce aplicaciones full-stack de alto rendimiento, pero la mayoría de los tutoriales dan por supuesto un despliegue serverless. En un VPS, el adaptador Node le da un verdadero servidor de larga duración, sin arranque en frío ni límite de ejecución. Veamos cómo desplegarlo correctamente con Docker y un reverse proxy.",[38,42,52,55,77,80],{"type":39,"title":40,"body":41},"h2","Por qué autoalojar SvelteKit en un VPS","SvelteKit se adapta a numerosos destinos mediante sus adaptadores (Vercel, Netlify, Cloudflare…), pero el adaptador oficial `@sveltejs\u002Fadapter-node` produce un servidor Node autónomo, perfecto para un VPS. En lugar de dividir su aplicación en funciones serverless sujetas a cold starts y a límites de duración de ejecución, obtiene un proceso persistente que mantiene abiertas sus conexiones a la base de datos y responde sin arranque en frío. Las acciones de formulario, las funciones `load` del lado del servidor y los endpoints `+server.ts` se ejecutan en un único runtime que usted controla. En un VPS, además evita la facturación por invocación, frecuente en las plataformas front, que se vuelve impredecible en cuanto sube el tráfico.",{"type":43,"title":44,"items":45},"ul","Beneficios concretos",[46,47,48,49,50,51],"Servidor Node persistente mediante adapter-node: ningún cold start en las rutas de servidor","Conexiones a la base de datos mantenidas abiertas en un pool, sin reconexión en cada petición","Sin facturación por invocación: coste estable incluso con un tráfico elevado e irregular","Acciones de formulario y endpoints `+server.ts` ejecutados sin límite de duración impuesto","WebSockets y SSE posibles, allí donde el serverless los prohíbe o los complica","Variables de entorno y secretos gestionados directamente, sin panel de una plataforma de terceros",{"type":39,"title":53,"body":54},"Requisitos de hardware y software","Una aplicación SvelteKit en modo Node consume de forma moderada: un VPS de 1 vCPU y 2 GB de RAM basta para un sitio de tráfico medio; suba a 2 vCPU \u002F 4 GB si coloca junto a ella una base PostgreSQL y tiene funciones `load` de servidor pesadas. Instale Node.js 20 LTS y, o bien Docker, o bien PM2 para gestionar el proceso como daemon. Nginx hará de reverse proxy. Apunte su dominio a la IP del VPS. El build (`build\u002F` generado por adapter-node) se mantiene ligero: de 5 a 10 GB de disco bastan con los `node_modules`.",{"type":56,"title":57,"steps":58},"steps","Despliegue paso a paso",[59,62,65,68,71,74],{"title":60,"body":61},"Instalar y configurar el adaptador Node","Añada `@sveltejs\u002Fadapter-node` y declárelo en `svelte.config.js` (`adapter: adapter()`). Es él quien transforma su aplicación en un servidor Node autónomo en lugar de en un bundle serverless.",{"title":63,"body":64},"Compilar la aplicación","Ejecute `npm run build`. SvelteKit genera una carpeta `build\u002F` que contiene `index.js`, el punto de entrada del servidor. Puede probarlo en local con `node build`; por defecto escucha en el puerto 3000.",{"title":66,"body":67},"Contenerizar o daemonizar el proceso","Con Docker: un Dockerfile `node:20-alpine` que copia `build\u002F` y `package.json`, instala las dependencias de producción (`npm ci --omit=dev`) y ejecuta `node build`. Sin Docker: utilice PM2 con `pm2 start build\u002Findex.js --name svelte-app` para el reinicio automático.",{"title":69,"body":70},"Inyectar la configuración de runtime","Pase `PORT`, `ORIGIN` (imprescindible para que SvelteKit valide las acciones de formulario) y sus secretos a través del entorno: `ORIGIN=https:\u002F\u002Fmondomaine.com`. Sin un `ORIGIN` correcto, las acciones de formulario fallarán en producción con un error CSRF.",{"title":72,"body":73},"Configurar Nginx como frontal","Cree un vhost con `proxy_pass http:\u002F\u002F127.0.0.1:3000;` y las cabeceras `proxy_set_header Host` y `X-Forwarded-Proto $scheme`. Active `proxy_http_version 1.1` y las cabeceras `Upgrade` si utiliza WebSockets.",{"title":75,"body":76},"Proteger con Let's Encrypt","Ejecute `certbot --nginx -d mondomaine.com`. Una vez instalado el certificado, compruebe que `ORIGIN` coincide con la URL HTTPS final; de lo contrario, los envíos de formulario serán rechazados.",{"type":78,"body":79},"tip","Cachee la salida de las rutas estáticas con la cabecera `Cache-Control` en sus funciones `load`, y active la precompresión: adapter-node sirve automáticamente los archivos `.gz` y `.br` si existen. Compile con la precompresión definiendo `precompress: true` en las opciones del adaptador. En cuanto a la gestión de procesos, prefiera el modo cluster de PM2 (`pm2 start build\u002Findex.js -i max`) para aprovechar todos los núcleos del VPS con una carga de CPU elevada.",{"type":39,"title":81,"body":82},"Desplegar SvelteKit en un clic desde el Marketplace","El Marketplace de ServOrbit ofrece una plantilla **SvelteKit Stack** que configura automáticamente Node.js LTS, PM2 y Nginx en su VPS Ubuntu 24.04 en unos minutos. Elija su VPS, seleccione la plantilla y obtenga un entorno de producción listo para recibir su proyecto SvelteKit — sin línea de comandos del sistema. El aprovisionamiento instala toda la cadena de herramientas; solo queda transferir su build y configurar Nginx para su dominio.","Su entorno SvelteKit listo en unos minutos","La plantilla SvelteKit Stack configura automáticamente Node.js LTS, PM2 y Nginx — lista para alojar su aplicación SvelteKit en modo SSR o estático.","Desplegar mi SvelteKit Stack","\u002Fmarketplace\u002Fdesarrollo\u002Fsveltekit-stack",[88,104,120],{"id":89,"slug":90,"slugs":91,"title":95,"excerpt":96,"readTime":23,"views":18,"isPinned":19,"publishedAt":97,"updatedAt":21,"category":98,"categories":99,"featuredImage":30,"bgImage":31,"posterImage":101,"relatedSolution":102},5,"desplegar-laravel-en-un-vps",{"fr":92,"en":93,"ar":94,"es":90},"deployer-laravel-vps","deploying-laravel-on-a-vps-a-production-guide","نشر-laravel-على-خادم-vps-دليل-الإنتاج","Desplegar Laravel en un VPS: guía de producción","Ponga Laravel en producción en un VPS: PHP, workers, caché, base de datos, reverse proxy y HTTPS bien configurados.","2026-02-09T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[100],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-laravel-vps-poster.svg",{"categorySlug":27,"appSlug":103},"laravel-stack",{"id":105,"slug":106,"slugs":107,"title":111,"excerpt":112,"readTime":17,"views":18,"isPinned":19,"publishedAt":113,"updatedAt":21,"category":114,"categories":115,"featuredImage":30,"bgImage":31,"posterImage":117,"relatedSolution":118},43,"desplegar-una-aplicacion-nodejs-en-un-vps",{"fr":108,"en":109,"ar":110,"es":106},"deployer-nodejs-vps","deploy-a-nodejs-application-on-a-vps","نشر-تطبيق-nodejs-على-vps","Desplegar una aplicación Node.js en un VPS","Despliegue una aplicación Node.js en producción en un VPS: PM2, reverse proxy Nginx, SSL Let's Encrypt y arranque automático con el sistema.","2026-05-08T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[116],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-nodejs-vps-poster.svg",{"categorySlug":34,"appSlug":119},"nodejs-stack",{"id":121,"slug":122,"slugs":123,"title":127,"excerpt":128,"readTime":17,"views":89,"isPinned":19,"publishedAt":129,"updatedAt":21,"category":130,"categories":131,"featuredImage":30,"bgImage":31,"posterImage":133,"relatedSolution":134},44,"desplegar-una-aplicacion-django-en-un-vps",{"fr":124,"en":125,"ar":126,"es":122},"deployer-django-vps","deploy-a-django-application-on-a-vps","نشر-تطبيق-django-على-vps","Desplegar una aplicación Django en un VPS","Despliegue Django en un VPS: Gunicorn, Nginx, PostgreSQL, Docker y SSL. Guía completa para desarrolladores Python que quieren autoalojar.","2026-05-07T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[132],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-django-vps-poster.svg",{"categorySlug":34,"appSlug":135},"django",1789665015133]