[{"data":1,"prerenderedAt":135},["ShallowReactive",2],{"seo-verification":3,"blog-nodejs-20-fin-de-vida-migrar-vps-es":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-nodejs-20-fin-de-vida-migrar-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":30,"intro":33,"sections":34,"ctaTitle":77,"ctaBody":78,"ctaButton":79,"ctaUrl":80,"relatedPosts":81},223,"nodejs-20-fin-de-vida-migrar-vps",{"fr":12,"en":13,"ar":14,"es":10},"nodejs-20-fin-de-vie-migrer-vps","nodejs-20-end-of-life-migrating-your-vps","نهاية-دعم-nodejs-20-ترحيل-خادم-vps","Node.js 20 en fin de vida: migrar su VPS","Node.js 20 no recibe parches de seguridad desde el 30 de abril de 2026. Auditar sus servidores y migrar a Node.js 24 sin romper la producción.",5,1,false,"2026-08-05T00: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\u002Fnodejs-20-fin-de-vie-migrer-vps-poster.svg","Desde el 30 de abril de 2026, Node.js 20 ya no recibe ningún parche, ni siquiera de seguridad. Sin embargo, muchos VPS y proyectos de agencia siguen funcionando sobre esa línea: la aplicación responde, las pruebas pasan y nada indica que el runtime está congelado. Le explicamos cómo saber qué ejecuta realmente, elegir la versión de destino y llevar a cabo el cambio sin interrupción.",[35,39,48,51,70,74],{"type":36,"title":37,"body":38},"h2","Qué cambia realmente el fin de vida de Node.js 20","Node.js sigue un ciclo público: una línea par entra en Active LTS en octubre, pasa a Maintenance LTS un año más tarde y después se detiene. Node.js 20 entró en Maintenance LTS el 22 de octubre de 2024 y alcanzó su fin de vida el 30 de abril de 2026. Desde entonces, un fallo del runtime ya no se corrige aguas arriba: ni en el motor V8, ni en la biblioteca TLS integrada, ni en el analizador HTTP. El código sigue funcionando, pero cada vulnerabilidad publicada permanece abierta.",{"type":40,"title":41,"items":42},"ul","Lo que cuesta un runtime congelado",[43,44,45,46,47],"**Fallos sin corregir** — las vulnerabilidades publicadas después del 30 de abril de 2026 ya no recibirán parche aguas arriba; solo una subida de versión las cierra.","**Paquetes que se descuelgan** — los mantenedores elevan el campo `engines` de su `package.json` hacia las líneas todavía soportadas; una instalación nueva acaba fallando o dejándole anclado en versiones antiguas.","**Imágenes base inmóviles** — una imagen `node:20` ya no recibe parches, ni para el runtime ni para los paquetes de sistema que hay debajo; su análisis de vulnerabilidades lo señala en cada build.","**Auditorías que se atascan** — un runtime en fin de vida es un riesgo no aceptado en las revisiones de seguridad y en los cuestionarios de proveedores.","**Migración de urgencia** — cuanto más crece la brecha, más cara sale la transición; llevarla a cabo hoy es un proyecto planificado, sufrirla tras un incidente ya no lo es.",{"type":36,"title":49,"body":50},"Saber qué ejecutan realmente sus servidores","`node -v` en un shell solo cuenta una parte de la historia: el binario de su sesión no es necesariamente el que sirve la producción. Un gestor de procesos conserva la versión con la que arrancó, `nvm` instala varias por usuario, un `Dockerfile` fija la suya en un `FROM node:20`. Inventaríe cada fuente: `pm2 jsonlist` para los procesos vivos, un `grep -r 'FROM node'` sobre sus Dockerfiles, el campo `engines` de cada `package.json` y la versión fijada en la CI o en sus runtimes gestionados.",{"type":52,"title":53,"steps":54},"steps","Migrar sin romper la producción",[55,58,61,64,67],{"title":56,"body":57},"Levantar el inventario antes de tocar nada más","Enumere, aplicación por aplicación: la versión realmente ejecutada, el gestor de procesos, la imagen base y las dependencias nativas — `node-gyp`, `sharp`, `better-sqlite3`. Son ellas las que fijan el calendario, no su código: un módulo compilado sin binario listo para la nueva línea bloquea toda la transición.",{"title":59,"body":60},"Elegir la versión de destino","Node.js 24 está en Active LTS desde el 28 de octubre de 2025 y su fin de vida está fijado al 30 de abril de 2028: es el destino por defecto. Node.js 22, en Maintenance LTS desde el 21 de octubre de 2025, tiene soporte hasta el 30 de abril de 2027 — un escalón aceptable si una dependencia nativa aún no sigue el ritmo, nunca un destino. Node.js 26 no entra en LTS hasta el 28 de octubre de 2026: hoy, no en producción.",{"title":62,"body":63},"Reproducir la suite de pruebas en la versión de destino","Añada la versión de destino a la matriz de su CI antes de retirar la antigua: ambas deben ponerse en verde al mismo tiempo. Reinstale en frío (`rm -rf node_modules` y después `npm ci`) para forzar la recompilación de los módulos nativos: ahí es donde aparecen las rupturas, rara vez en las pruebas unitarias. Lea los avisos de obsolescencia — son los errores de la línea siguiente.",{"title":65,"body":66},"Cambiar un servicio cada vez","`nvm install 24` instala la nueva línea junto a la antigua sin retirarla. Reinicie después el daemon del gestor de procesos (`pm2 update`) y vuelva a crear el servicio (`pm2 delete` y luego `pm2 start`): un simple `pm2 restart` conserva el intérprete registrado. Regenere el script de arranque (`pm2 startup`, `pm2 save`) y compruebe con `pm2 jsonlist` que la versión reportada ha cambiado.",{"title":68,"body":69},"Vigilar y después limpiar","Mantenga los logs de error y la curva de memoria a la vista durante 48 horas: un cambio de línea de V8 desplaza el perfil del recolector de basura más a menudo de lo que rompe una API. Una vez confirmada la transición, desinstale Node.js 20 para que ningún despliegue lo vuelva a invocar por accidente. Si prefiere partir de un servidor limpio en lugar de migrar en sitio, nuestra guía `deployer-nodejs-vps` recorre la cadena completa.",{"type":71,"title":72,"body":73},"tip","Fijar la versión, no solo migrarla","Una subida de runtime es el buen momento para apretar lo que la rodea. Fije la versión de destino en un `.nvmrc` versionado junto al código y alinee el campo `engines` de su `package.json`: el servidor, la CI y los puestos de desarrollo dejan de divergir en silencio — es esa deriva la que permite que un runtime en fin de vida sobreviva a su propia migración. Ejecute la aplicación con un usuario dedicado, sin permiso de escritura sobre su carpeta de código.",{"type":36,"title":75,"body":76},"Convertir el fin de vida en una cita, no en una sorpresa","El calendario de Node.js es público: una línea par pasa a LTS en octubre y se detiene treinta meses más tarde, siempre un 30 de abril. Node.js 22 se detendrá el 30 de abril de 2027 y Node.js 24 el 30 de abril de 2028: ambas fechas pueden entrar hoy mismo en su calendario de explotación. Recurrente y presupuestada, la subida de versión ocupa unos pocos días al año; sufrida con urgencia, cuesta mucho más.","Un VPS donde usted elige la versión que se ejecuta","ServOrbit pone a su disposición VPS Cloud donde usted instala y fija la línea de Node.js que prefiera, migra servicio por servicio y mantiene dos versiones en paralelo durante todo el cambio.","Ver las soluciones para desarrolladores","\u002Fsolutions\u002Fdeveloppeurs",[82,101,119],{"id":83,"slug":84,"slugs":85,"title":89,"excerpt":90,"readTime":91,"views":92,"isPinned":19,"publishedAt":93,"updatedAt":21,"category":94,"categories":95,"featuredImage":30,"bgImage":31,"posterImage":97,"relatedSolution":98},43,"desplegar-una-aplicacion-nodejs-en-un-vps",{"fr":86,"en":87,"ar":88,"es":84},"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.",3,0,"2026-05-08T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[96],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-nodejs-vps-poster.svg",{"categorySlug":99,"appSlug":100},"desarrollo","nodejs-stack",{"id":102,"slug":103,"slugs":104,"title":108,"excerpt":109,"readTime":110,"views":92,"isPinned":19,"publishedAt":111,"updatedAt":112,"category":113,"categories":114,"featuredImage":30,"bgImage":31,"posterImage":116,"relatedSolution":117},46,"desplegar-nextjs-en-un-vps",{"fr":105,"en":106,"ar":107,"es":103},"deployer-nextjs-vps","deploy-a-nextjs-application-on-a-vps","نشر-تطبيق-nextjs-على-vps","Desplegar una aplicación Next.js en un VPS","Despliegue Next.js en un VPS: Node.js, PM2, Nginx, SSL y SSR. Guía completa para desarrolladores y agencias que quieren autoalojar.",13,"2026-05-05T00:00:00+00:00","2026-09-11T11:34:12+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[115],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-nextjs-vps-poster.svg",{"categorySlug":99,"appSlug":118},"nextjs-stack",{"id":120,"slug":121,"slugs":122,"title":126,"excerpt":127,"readTime":128,"views":129,"isPinned":19,"publishedAt":130,"updatedAt":21,"category":131,"categories":132,"featuredImage":30,"bgImage":31,"posterImage":134,"relatedSolution":30},206,"php-82-fin-de-vida-planificar-la-migracion",{"fr":123,"en":124,"ar":125,"es":121},"php-82-fin-de-vie-checklist-migration","php-82-end-of-life-planning-your-migration","نهاية-دعم-php-82-دليل-الترحيل","PHP 8.2 fin de vida: checklist de migración","PHP 8.2 llega al final de su ciclo de vida el 31 de diciembre de 2026. Inventaría tu stack, compara versiones y sigue una checklist detallada para migrar a PHP 8.3 o 8.4.",11,2,"2026-08-01T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[133],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fphp-82-fin-de-vie-checklist-migration-poster.svg",1789665028429]