POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Desplegar React en Ubuntu en AWS Cloud (Semana 1)

## Desplegar React en Ubuntu en AWS Cloud Semana 1

Publicado el 24/08/2025

Descripción general alto nivel: Guía práctica y orientada a la acción para desplegar una aplicación React SPA en una instancia Ubuntu EC2 usando Nginx. Repetible y pensada para principiantes.

Resumen corto: Objetivo hospedar una aplicación React como archivos estáticos generados por npm run build en una instancia Ubuntu EC2 pública, servirlos con Nginx y asegurar el enrutado de la SPA hacia index.html.

Por qué existe esta guía: Esta guía nace de una experiencia real al encontrar la página por defecto de Nginx en producción. Aquí tienes un playbook con comandos reales y pasos claros para que no te pille desprevenido a medianoche.

Requisitos previos: Cuenta activa en AWS (Free Tier sirve), una app React local o en GitHub, par de claves EC2 pem, conocimientos básicos de SSH y terminal.

Paso 1 Lanzar instancia Ubuntu EC2: Elegir Ubuntu Server 22.04 LTS, tipo t2.micro o t3.micro si buscas Free Tier, crear y descargar par de claves demo-react-key.pem y guardarlo con seguridad.

Paso 2 Grupo de seguridad y par de claves: Añadir reglas de entrada SSH TCP 22 restringida a tu IP preferentemente como /32 o como /24 si estás en un rango NAT pequeño, y HTTP TCP 80 abierto a 0.0.0.0 0. Mantener SSH cerrado al mundo es una buena práctica de ciberseguridad.

Paso 3 Conexión SSH: En tu máquina local ajustar permisos de la llave y conectarte a la instancia

chmod 400 demo-react-key.pem ssh -i demo-react-key.pem ubuntu@EC2_PUBLIC_IP

Paso 4 Instalar Node npm git y Nginx en el servidor

sudo apt update sudo apt install -y nodejs npm git nginx node -v && npm -v

Paso 5 Iniciar y verificar Nginx

sudo systemctl start nginx sudo systemctl enable nginx systemctl status nginx Visita https://EC2_PUBLIC_IP para ver la página por defecto de Nginx.

Paso 6 Clonar el repositorio React en la instancia

git clone https://github.com/USUARIO/REPO.git cd REPO

Paso 7 Pequeño cambio de UI para comprobar flujo: editar src/App.js, cambiar un texto y confirmar que el flujo de desarrollo funciona.

Paso 8 Instalar dependencias y construir archivos de producción

npm install npm run build Resultado esperado directorio build con index.html y carpetas estáticas.

Paso 9 Copiar build a la raíz de Nginx

Importante confirmar que estás en la raíz del proyecto y no dentro de src. Comandos recomendados sudo rm -rf /var/www/html/* sudo cp -r build/* /var/www/html/ sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html Comprueba ls build y confirma que aparece index.html antes de copiar.

Paso 10 Editar la configuración de Nginx y validar: El archivo activo está en /etc/nginx/sites-available/default. Edita manualmente y añade un bloque de ubicación que permita la reescritura para SPA y evita reemplazos automáticos sin verificación.

Ejemplo de bloque server a insertar o adaptar en /etc/nginx/sites-available/default

server { listen 80; server_name _; root /var/www/html; index index.html; location / { try_files $uri /index.html; } error_page 404 /index.html; }

Validar y reiniciar Nginx solo tras comprobar sintaxis

sudo nginx -t sudo systemctl restart nginx sudo systemctl status nginx

Paso 11 Lista rápida de resolución de problemas: Si no ves sitio verificar Security Group puerto 80, si Nginx no está activo ejecutar sudo systemctl status nginx, si hay errores de configuración ejecutar sudo nginx -t, para app en blanco revisar consola del navegador y ls /var/www/html, revisar logs con sudo tail -n 100 /var/log/nginx/error.log.

Bloque de comandos completo para copiar y pegar en el orden indicado

chmod 400 demo-react-key.pem ssh -i demo-react-key.pem ubuntu@EC2_PUBLIC_IP sudo apt update sudo apt install -y nodejs npm git nginx sudo systemctl start nginx sudo systemctl enable nginx git clone https://github.com/USUARIO/REPO.git cd REPO npm install npm run build pwd sudo rm -rf /var/www/html/* sudo cp -r build/* /var/www/html/ sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html sudo nano /etc/nginx/sites-available/default validar con sudo nginx -t y reiniciar sudo systemctl restart nginx

Próximos pasos para producción: reservar una Elastic IP para que la IP pública no cambie, añadir HTTPS con Certbot Lets Encrypt, automatizar build y deploy con GitHub Actions o scripts deploy.sh, y considerar contenerizar con Docker para portabilidad y escalado.

Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software que ofrece aplicaciones a medida y software a medida para clientes que necesitan soluciones personalizadas. Somos especialistas en inteligencia artificial IA para empresas, agentes IA, ciberseguridad y servicios cloud AWS y Azure. También brindamos servicios de inteligencia de negocio e implementaciones Power BI para convertir datos en decisiones. Nuestro enfoque combina buenas prácticas de DevOps, seguridad y soluciones escalables para proyectos web y móviles.

Palabras clave y servicios: aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws servicios cloud azure servicios inteligencia de negocio ia para empresas agentes ia power bi Estas palabras clave están integradas para mejorar el posicionamiento y reflejan la oferta de Q2BSTUDIO en desarrollo, seguridad y analítica.

Si necesitas que Q2BSTUDIO despliegue tu aplicación React en AWS o Azure o que diseñemos una solución de software a medida con integración de IA y ciberseguridad, contacta con nuestro equipo para una consultoría y presupuesto.'

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio