Despliegue de la API en un VPS
Desplegar una aplicación web es un hito en la trayectoria de cualquier desarrollador .NET. Ya sea que esté trabajando con ASP.NET Core, .NET Framework o desarrollando otros tipos de sitios web dinámicos, la implementación de su aplicación en un Servidor Virtual (VPS) le brinda control total sobre el entorno de alojamiento, la seguridad y la escalabilidad.
En este detallado recorrido, exploramos cómo desplegar una API mínima de C# en un VPS utilizando los conocimientos del tutorial de Tim Corey, "Desplegando la API en un VPS" Desde el registro del dominio hasta los certificados SSL y la publicación a través de Visual Studio, Tim lo cubre todo. Si está explorando soluciones VPS u opciones de alojamiento .NET Core, esta guía es su puerta de entrada a la implementación práctica.
¿Por qué utilizar una API de ejemplo en el desarrollo web?
Al principio, Tim explica el valor de contar con una API de muestra. Se trata de un campo de pruebas vital a la hora de crear aplicaciones frontales con tecnologías como HTML, JavaScript o incluso Blazor. Obtendrá la experiencia completa de desarrollo web, desde la lógica de backend hasta el alojamiento y la implementación.
Estrategia de dominio: Cómprelo sólo cuando esté listo
Tim insiste en un principio clave: no te precipites a comprar un nombre de dominio en cuanto se te ocurra una nueva aplicación. Muchos aspirantes a desarrolladores gastan demasiado en dominios, paquetes de alojamiento y funciones como servidores de correo electrónico sin tener un prototipo que funcione.
En su lugar, céntrate primero en los lenguajes de programación, los modelos de datos y la lógica de la API. Una vez que el proyecto madure, será el momento de hacerse con el dominio y la cuenta de alojamiento. Sin embargo, para este tutorial, Tim ha precomprado thesampleapi.com a través de Namecheap, un proveedor de alojamiento fiable que él recomienda.
Elegir un proveedor de alojamiento VPS
Tim utiliza InterServer para este proyecto, un proveedor de alojamiento VPS en el que confía para obtener servidores privados virtuales de alto rendimiento y bajo coste. Aunque normalmente utiliza Azure (especialmente para Microsoft SQL Server o implementaciones a escala empresarial), Tim opta aquí por InterServer para mostrar flexibilidad.
Menciona las ventajas de los planes de alojamiento VPS:
-
Más control que los planes de alojamiento compartido
-
Mejor rendimiento para sitios web dinámicos
-
Almacenamiento SSD y espacio en disco escalable
- Protección DDoS opcional y acceso completo al sistema operativo
Para los desarrolladores que comparan las opciones de alojamiento VPS Linux y Windows Server, el caso de uso de Tim muestra cómo trabajar con ambos entornos, aunque este ejemplo utiliza un VPS basado en Windows.
Configuración de alojamiento web con el panel de control Plesk
Tim explica cómo configurar su servicio de alojamiento a través del panel de control Plesk. Las soluciones VPS suelen conceder acceso root o acceso al panel de control para configurar el servidor web. Establece el dominio thesampleapi.com y configura el alojamiento web básico.
Este paso incluye:
-
Activación del alojamiento DNS
-
Creación del directorio de alojamiento
- Comprensión de la estructura de servidor compartido frente a servidor dedicado en VPS
Tim señala que los usuarios de VPS suelen alojar varios dominios en un mismo servidor. Esa es la ventaja de los VPS sobre el alojamiento compartido básico de Windows: se adapta a sus necesidades y puede gestionar un tráfico elevado de forma eficaz.
Actualización de la configuración DNS a través de Namecheap
Para conectar el dominio al proveedor de alojamiento, Tim actualiza los registros del servidor de nombres (NS) en Namecheap para que apunten al DNS de InterServer. Esto permite que el dominio se resuelva en la dirección IP del VPS.
Tim dice que esto puede llevar hasta 48 horas, pero según su experiencia, a menudo se completa en 15 minutos o menos, una ventaja para los desarrolladores de .NET deseosos de ver su trabajo en directo.
Instalación de un certificado SSL
La seguridad no es negociable en las aplicaciones web modernas. Tim crea un certificado SSL con Let's Encrypt, que ofrece cifrado de sitios gratuito. Utiliza un certificado SSL comodín para que subdominios como www.thesampleapi.com y api.thesampleapi.com también estén protegidos.
Se trata de un paso fundamental, especialmente para las API de ASP.NET Core que manejan datos confidenciales. Los certificados SSL cifran la comunicación entre los clientes y el servidor web, algo imprescindible para los sitios web seguros y de alto rendimiento.
Publicación con Visual Studio
A continuación, Tim muestra cómo publicar la API de ASP.NET Core desde Visual Studio:
-
Haga clic con el botón derecho del ratón en el proyecto → Publicar
-
Elija Carpeta como destino
-
Seleccione el modo de publicación
- Establezca el tipo de despliegue en Framework-dependent (para entornos con las versiones .NET apropiadas preinstaladas)
Si se despliega en un entorno de alojamiento Linux sin .NET instalado, Tim sugiere cambiar a un despliegue autónomo. Esto incluye el tiempo de ejecución .NET Core necesario, lo que garantiza la compatibilidad en servidores remotos.
La publicación genera un conjunto de archivos que pueden cargarse directamente en su proveedor de alojamiento.
Carga de archivos en el servidor web
Tim utiliza el gestor de archivos del panel de control para eliminar los archivos predeterminados y cargar la carpeta publicada. Arrastra el contenido directamente desde su máquina al sistema de archivos del VPS. Una vez cargada, al pulsar la URL del dominio aparece un mensaje básico de "Hola Mundo", indicando que la aplicación está activa.
Para usuarios más avanzados, recomienda automatizar el despliegue mediante GitHub Actions o webdev, en función de las capacidades de tu servicio de alojamiento.
Prueba de los puntos finales de la API
A continuación, Tim navega a /courses, una ruta definida en su API de C#. Devuelve datos JSON, lo que demuestra que la aplicación ASP.NET Core funciona correctamente. Esto también confirma que la lógica de backend, el enrutamiento y el middleware se gestionan correctamente en el servidor web.
Cómo corregir la interfaz de usuario de Swagger (Scaler/V1)
Un problema común al que se enfrentan muchos desarrolladores .NET es que Swagger UI (utilizada para la documentación de API) sólo funciona en modo de desarrollo. Tim identifica que el archivo de configuración del proyecto desactiva Swagger en producción.
Actualiza la configuración de OpenAPI en el archivo de configuración para que esté disponible incluso en entornos de producción, algo esencial para la depuración y las pruebas en entornos reales.
Redirigir la raíz a Swagger UI
En lugar de mostrar "Hello World" en la página de inicio, Tim añade una redirección en el punto final raíz de la API. Ahora, visitar https://thesampleapi.com redirigirá automáticamente a los usuarios a la documentación Swagger en /scaler/v1. Este pequeño cambio mejora la usabilidad y ayuda a los desarrolladores a acceder rápidamente a las especificaciones de la API.
Reinstalación tras actualizaciones
Para reflejar los nuevos cambios, Tim repite el proceso de publicación y carga. Limpia el directorio de archivos del VPS y vuelve a cargar la nueva compilación. Explica que, aunque este método conlleva un breve tiempo de inactividad, es aceptable durante la fase de desarrollo.
Para aplicaciones de producción con mucho tráfico, Tim recomienda utilizar una ranura de puesta en escena, una función que se encuentra en planes de alojamiento más avanzados o plataformas como Azure. Esto permite un despliegue fluido sin tiempos de inactividad.
Verificación final y pruebas de API
Con la API actualizada desplegada, Tim confirma:
-
Certificado SSL activo
-
Los puntos finales devuelven datos correctos
- Swagger UI es accesible en /scaler/v1
El despliegue es un éxito. Los desarrolladores ya pueden realizar pruebas con esta API en tiempo real desde cualquier interfaz, ya sea Angular, React, Blazor o incluso aplicaciones de escritorio como WPF y WinForms.
¿Qué sigue?
Tim concluye animando a los desarrolladores a explorar el uso de la API de ejemplo con diferentes interfaces. Tanto si está creando sitios web dinámicos, probando integraciones o experimentando con ASP clásico o Visual Basic, esta API desplegada es un gran activo.
Puede acceder a la API en directo en
Resumen
La implementación de una API en un VPS es una valiosa experiencia de aprendizaje para cualquier desarrollador que trabaje con .NET Core, .NET Framework o aplicaciones web en general. El vídeo de Tim Corey ilustra todo el proceso, desde la configuración del dominio hasta la implementación final, y ofrece consejos prácticos y buenas prácticas.
Si estás pensando en pasarte a los planes de alojamiento VPS, necesitas evitar las tarifas ocultas de las empresas de alojamiento web tradicionales o quieres experimentar más allá del alojamiento compartido, este tutorial te pone en el buen camino.
Tanto si está lanzando su primera API como si está explorando el alojamiento de servicios dotnet, esta guía proporciona claridad, control y potentes funciones para crear aplicaciones web dinámicas y escalables.
