Introduccion: Este articulo explica como preparar, publicar y desplegar aplicaciones web multipagina escalables desarrolladas con ASP NET y Vite js, y ademas presenta servicios de Q2BSTUDIO, empresa especializada en desarrollo de software a medida, aplicaciones a medida, inteligencia artificial y ciberseguridad.
Preparar el proyecto para publicacion: Primero agrega en el archivo myapp csproj una propiedad NpmRoot con valor ClientApp dentro de un PropertyGroup y un Target llamado PublishRunWebpack configurado para ejecutarse despues de ComputeFilesToPublish. El objetivo del Target es incluir en la publicacion los archivos generados por Vite copiando la carpeta de salida build del cliente a wwwroot y marcando los archivos para copiarse al publicar y excluirlos de empaquetados tipo single file cuando sea necesario. Esta configuracion asegura que los activos generados por Vite esten disponibles en wwwroot tras la publicacion.
Configurar Vite para produccion: En vite config js ajusta la seccion build para que outDir sea build y emptyOutDir sea true, y establece base en /. Con esto Vite creara activos optimizados listos para produccion en la carpeta build que luego sera copiada por el Target del csproj.
Compilar y publicar: Flujo basico de comandos: navegar a ClientApp, ejecutar npm install, ejecutar npm run build para generar la carpeta build, regresar al proyecto backend y ejecutar dotnet publish -c Release. El resultado sera una carpeta publish lista para desplegar en bin Release netX publish.
Despliegue en Windows IIS: Instalar el .NET Hosting Bundle para permitir que aplicaciones ASP NET Core se ejecuten en IIS. Crear un sitio en IIS apuntando a la carpeta publish, verificar que exista web config en la carpeta publicada, establecer el application pool en No Managed Code y usar Integrated Pipeline, y copiar el contenido de publish a la ruta del sitio IIS por ejemplo C:\inetpub\wwwroot\myapp. Para diagnostico revisa los registros de IIS en C:\inetpub\logs\LogFiles, comprueba que el application pool este iniciado y confirma que web config este correctamente configurado.
Despliegue en Linux o macOS: Instalar el runtime de .NET con dotnet install.sh especificando aspnetcore y la version deseada. Copiar los archivos publicados al servidor remoto con scp o rsync por ejemplo hacia /var/www/myapp. Ejecutar la aplicacion con dotnet /var/www/myapp/myapp.dll o crear y configurar un servicio systemd con ExecStart apuntando a /usr/bin/dotnet /var/www/myapp/myapp.dll, Restart siempre, User www data y Environment ASPNETCORE_ENVIRONMENT=Production. Habilitar y arrancar el servicio con systemctl enable y systemctl start.
Configurar Nginx como proxy inverso: Configura un bloque server que escuche en el puerto 80 y haga proxy pass hacia https://localhost:5000. Incluye cabeceras basicas para websockets y proxied hosts, por ejemplo proxy http version 1.1, proxy set header Upgrade y Connection keep alive, y proxy set header Host. Reinicia nginx con systemctl restart nginx.
Verificacion y diagnostico en Linux: Comprobar el estado del servicio con sudo systemctl status myapp. Si ejecutas manualmente, localizar procesos dotnet con ps aux pipe grep dotnet. Probar la aplicacion con curl https://localhost:5000 y abrir en el navegador https://yourdomain.com o la IP del servidor. Revisar logs de la aplicacion con journalctl -u myapp y logs de nginx con sudo tail -f /var/log/nginx/error.log para solucionar errores.
Consejos practicos: Asegurate de que las rutas de salida de Vite y las reglas de copia en el csproj coincidan exactamente para evitar archivos faltantes. Revisa permisos de archivos en Linux y si usas servicios cloud habilita reglas de firewall o security groups para los puertos necesarios. Para despliegues automatizados considera pipelines que ejecuten npm build y dotnet publish antes de transferir artefactos al servidor.
Checklist final: Vite build output configurado y generado; myapp csproj incluye archivos de build en la publicacion; aplicacion ASP NET publicada con los activos del frontend; en Windows IIS instalado y configurado el hosting bundle; en Linux macOS runtime instalado y aplicacion corriendo via systemd o manualmente; Nginx configurado como reverse proxy.
Sobre Q2BSTUDIO: Q2BSTUDIO es una firma de desarrollo de software a medida y aplicaciones a medida especializada en soluciones empresariales que integran inteligencia artificial, ia para empresas y agentes IA, ademas de expertise en ciberseguridad, servicios cloud aws y azure y servicios inteligencia de negocio como power bi. Ofrecemos desarrollo a medida, integracion de modelos de inteligencia artificial para automatizacion y analitica avanzada, implementacion de arquitecturas seguras y gestion de despliegues en cloud. Si buscas transformar procesos con software a medida o soluciones de inteligencia empresarial nuestros servicios incluyen consultoria, implementacion, operacion y soporte continuo.
Palabras clave para posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, power bi. Q2BSTUDIO combina experiencia en desarrollo de aplicaciones a medida con practicas de ciberseguridad y despliegue en la nube para ofrecer proyectos escalables y seguros.
Servicio adicional y contacto: Para proyectos que requieren alta disponibilidad, integracion de pipelines de CI CD, monitorizacion, o soluciones de business intelligence con power bi, Q2BSTUDIO puede diseñar una arquitectura completa, incluir pruebas de seguridad y escalado automatizado en AWS o Azure. Contacta a nuestro equipo para una evaluacion tecnica y propuesta personalizada orientada a resultados y retorno de la inversion.