Las limitaciones de mi servidor - Episodio 44

Hay días en los que tu servidor te habla.
Y no para darte buenas noticias.
Este episodio va de ese momento en el que te das cuenta de que tu servidor no es tu aliado, sino un mueble viejo que cruje, se queja, y te pide que lo jubiles.
El día en el que asumí que tenía que migrar todo a un nuevo VPS y reconstruir desde cero.
Spoiler: Sí, dolió.
Pero también me hizo más rápido.
Como cuando montas un mueble de Ikea por segunda vez y ya no necesitas ni instrucciones ni paciencia.
- Las limitaciones de mi servidor: cuando entendí que tenía que migrar y empezar todo desde cero otra vez - Diario de un SaaS
- 🚪 Cuando el servidor ya no daba más de sí
- 🤬 “¿Por qué esto no funciona?” — El inicio del fin
- 🔥 Desafíos y Retos Encontrados
- 🔧 La Decisión: Migramos. Punto.
- 🚀 Reconstrucción desde cero (pero a velocidad absurda)
- ⏳ Tiempo Total Dedicado
- 🎯 Próximo Episodio
Las limitaciones de mi servidor: cuando entendí que tenía que migrar y empezar todo desde cero otra vez - Diario de un SaaS
Pero también me hizo más rápido.
Como cuando montas un mueble de Ikea por segunda vez y ya no necesitas ni instrucciones ni paciencia.
🚪 Cuando el servidor ya no daba más de sí
Mi antiguo servidor, había sido un buen compañero…
Hasta que dejó de serlo.
Era administrado, sí.
Pero también era: Limitado Capado Antiguo Lento para cualquier cambio serio.
Y con configuraciones que parecían escritas por un arqueólogo.
Cada vez que quería hacer algo mínimamente técnico, pasaba esto: Plesk no me dejaba Apache hacía lo que quería.
Los puertos vivían bajo un régimen militar ModSecurity lanzaba ataques preventivos hasta cuando me miraba el panel.
Y yo, mientras, preguntándome:
“¿Pero esto es un servidor o una escape room?”
🤬 “¿Por qué esto no funciona?” — El inicio del fin
Cada día aparecía un nuevo capítulo:
- Cambiaba un puerto → se rompía algo
- Intentaba arrancar Flask → no arrancaba
- Reconfiguraba Apache → desaparecía el backend
- Abría logs → parecían jeroglíficos egipcios
- Reiniciaba un servicio → Plesk me decía que no podía reiniciar ese servicio
Yo ya me lo tomaba como deporte:
¿Qué romperá hoy?
Y así, episodio tras episodio, empezó a formarse la idea en mi cabeza:
“Víctor, este servidor no te va a dar la vida que quieres.”
Tenía dos opciones:
- Seguir parcheando
- O migrar, respirar y montar el entorno como DIOS manda
Y elegí el camino correcto.
Pero el más doloroso.
🔥 Desafíos y Retos Encontrados
(o cómo un servidor viejo te puede hacer replantearte la carrera)
🧱 1. Configuraciones heredadas
Cada vez que abría httpd.conf o cualquier archivo en /etc/apache2/, veía código que parecía escrito en S VIII a.c.
🚫 2. Accesos capados por defecto
Plesk estaba hecho para “no romper nada”, lo cual irónicamente hacía que todo se rompiera cuando querías personalizar algo.
📦 3. Módulos que no debía tocar (pero tenía que tocar)
Passenger, ModSecurity, directivas duplicadas.
Era una bomba de relojería.
🔐 4. Firewall interno y externo sin coordinación
Dos firewalls gestionando los mismos puertos.
Como tener dos jefes de proyecto criticándose entre ellos.
☠️ 5. Apache secuestrando mis rutas
Da igual lo que hacía con Flask:
Apache DECIDÍA cuál era la ruta verdadera.
🦥 6. Cambios lentos
Cada pequeño ajuste implicaba:
- Reiniciar servicios
- Esperar
- Ver logs
- Comprobar firewall
- Volver atrás
Así no se escala un SaaS.
Ni mentalmente ni técnicamente.
🔧 La Decisión: Migramos. Punto.
Llegó un momento en el que entendí que:
- Ya no era cuestión de parchear
- No era cuestión de “optimizar lo que tengo”
- No era cuestión de configurar mejor
Era cuestión de decir:
“Hasta aquí. Me voy.”
Y lo hice.
Compré un VPS nuevo en Contabo:
más potencia, más control, y sobre todo:
Libertad para construir un SaaS serio.
🚀 Reconstrucción desde cero (pero a velocidad absurda)
Aquí viene la parte bonita de la historia.
Cuando haces algo doloroso por primera vez (como montar tu backend, configurar Apache, pelearte con Plesk)…
La segunda vez lo haces en:
- Un tercio del tiempo
- Menos dudas
- Cero miedo
- Y la mitad del café
Así que lo monté TODO desde cero:
- Plesk limpio
- Apache fresco
- PostgreSQL 17 instalado a mano
- Gunicorn configurado
- Servicios systemd funcionando
- Firewall ordenadito
- Proxy inverso bien hecho
- Flask en su propia estructura
- React accesible desde fuera
- Sin passenger_wsgi tocando los huevos
- Sin configuraciones de la edad de piedra
Y funcionó.
Esta vez fluía.
Sentí por primera vez que controlaba el servidor, y no al revés.
⏳ Tiempo Total Dedicado
Entre:
- Migración
- Reconstrucción
- Configuración
- Limpiezas
- Reinstalaciones
- Pruebas
- Rutas
- Firewalls
- Logs
- Desesperación contenida
Total: 14 horas
Pero te digo algo:
La primera vez habría sido 40.
💡 Lecciones Aprendidas
- Un servidor antiguo NO es un buen lugar para construir un SaaS nuevo.
- Migrar es doloroso, pero liberador.
- Si lo has roto una vez, reconstruirlo después es mucho más fácil.
- No se escala desde la frustración, se escala desde la claridad.
- Control total > panel administrado.
🎯 Próximo Episodio
“El día que descubrí que mi backend no arrancaba… y no era culpa del backend”
Spoiler:
Apache estaba haciendo ghosting a Flask.
Y Flask tenía DOS cerebros.
No te lo pierdas.
Si quieres conocer otros artículos parecidos a Las limitaciones de mi servidor - Episodio 44 puedes visitar la categoría Proyecto-IA.

Deja una respuesta