Despliegue de Portafolio Laravel en AWS EC2: Producción Completa

Aprende a desplegar Laravel en AWS EC2 (t2.micro) con Nginx, SSL Let's Encrypt, despliegues automáticos y pautas de seguridad y rendimiento para portfolios.

martes, 9 de septiembre de 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Por qué elegir AWS EC2 en lugar de alojamiento compartido: control total del servidor para configuraciones personalizadas, escalabilidad a medida que crece el proyecto, mayor credibilidad profesional ante clientes y una valiosa experiencia en infraestructura cloud.

Tecnologías empleadas: Backend Laravel 12, Frontend Tailwind CSS, Servidor Ubuntu 22.04 en AWS EC2 t2.micro, Servidor web Nginx, Base de datos SQLite ideal para portfolios, SSL con Lets Encrypt gratuito

Paso 1 - Creación de la instancia EC2: lanzar instancia t2.micro en el free tier, configurar security groups para HTTP 80, HTTPS 443 y SSH 22. Conectar vía SSH para continuar la configuración.

Paso 2 - Configuración del servidor: actualizar sistema con sudo apt update && sudo apt upgrade -y. Instalar PHP 8.3 y extensiones necesarias como php8.3-fpm php8.3-mysql php8.3-xml php8.3-curl php8.3-zip. Instalar Nginx con sudo apt install nginx. Instalar Composer con curl -sS https://getcomposer.org/installer | php y mover composer.phar a /usr/local/bin/composer.

Paso 3 - Despliegue de Laravel: clonar repositorio con git clone https://github.com/tuusuario/portfolio.git /var/www/portfolio. Instalar dependencias con composer install --optimize-autoloader --no-dev. Ajustar permisos sudo chown -R www-data:www-data /var/www/portfolio && sudo chmod -R 755 /var/www/portfolio && sudo chmod -R 775 /var/www/portfolio/storage y ejecutar php artisan key:generate si aplica.

Paso 4 - Configuración de Nginx: crear bloque de servidor apuntando a /var/www/portfolio/public, usar try_files $uri $uri/ /index.php?$query_string y configurar fastcgi_pass unix:/var/run/php/php8.3-fpm.sock junto a include fastcgi_params. Reiniciar nginx y php-fpm tras cambios.

Paso 5 - SSL con Lets Encrypt: instalar certbot sudo apt install certbot python3-certbot-nginx y obtener certificado con sudo certbot --nginx -d tudominio.com. Lets Encrypt gestiona la autorrenovación a través de systemd timers de certbot.

Despliegue automático: integrar Webhooks de GitHub y crear un endpoint seguro que al recibir push en la rama main ejecute git pull origin main y limpie caches de Laravel con php artisan config:clear php artisan cache:clear. Es recomendable proteger el webhook con un secreto y verificar firmas en el servidor.

Seguridad y endurecimiento: aplicar headers de seguridad como X-Content-Type-Options nosniff, X-Frame-Options DENY y X-XSS-Protection 1; configurar permisos de archivos estrictos; nunca versionar archivos .env; usar contraseñas fuertes; mantener actualizaciones regulares y restringir acceso SSH con claves y firewall.

Optimizaciones de rendimiento: habilitar OPcache editando /etc/php/8.3/fpm/php.ini y seteando opcache.enable=1; optimizar el autoloader de Composer con composer install --optimize-autoloader --no-dev; cachear configuraciones y rutas de Laravel con php artisan config:cache php artisan route:cache php artisan view:cache.

Monitorización y mantenimiento: vigilar logs de Laravel en /var/www/portfolio/storage/logs/laravel.log y logs de Nginx en /var/log/nginx/error.log; configurar alertas y backups regulares mediante cron jobs para la base de datos SQLite o exportación periódica; realizar snapshots AMI para recuperación rápida.

Estrategia de backups y despliegue: copias regulares de la base de datos, versionado de código con Git, snapshots de servidor y, si se necesita mayor resiliencia, integración con servicios de CI/CD y balanceo de carga.

Coste estimado: EC2 t2.micro gratuito el primer año en el free tier, luego alrededor de 9 USD al mes; dominio aproximadamente 12 USD al año; SSL gratuito con Lets Encrypt. Para portfolios el coste es muy bajo, especialmente durante el primer año.

Resultados típicos: tiempos de carga por debajo de 2 segundos, calificación A+ en SSL, diseño responsive, despliegues automáticos y métricas con Google Analytics. Ejemplo de portafolio desplegado siguiendo estos pasos sirve como referencia de rendimiento y buenas prácticas.

Buenas prácticas y recomendaciones: empezar simple con t2.micro para portfolios, automatizar despliegues y renovaciones SSL, priorizar la seguridad con headers y permisos, monitorizar logs y rendimiento, y planificar escalado cuando sea necesario.

Errores comunes a evitar: permisos de archivos mal configurados, security groups abiertos incorrectamente, omitir instalación de certificado SSL y no supervisar registros de errores.

Próximos pasos cuando se necesita escalar: integrar CDN como CloudFront, migrar base de datos a RDS para mayor rendimiento, añadir balanceo de carga para tráfico alto y adoptar pipelines CI/CD con AWS CodePipeline o herramientas equivalentes.

Sobre Q2BSTUDIO: somos Q2BSTUDIO, empresa especializada en desarrollo de software, aplicaciones a medida, inteligencia artificial aplicada a empresas, ciberseguridad y servicios cloud. Ofrecemos soluciones completas que incluyen diseño y desarrollo de aplicaciones a medida, integración de agentes IA y proyectos de inteligencia de negocio con herramientas como Power BI. Si buscas migrar infraestructuras o desplegar en la nube contamos con experiencia en servicios cloud AWS y Azure y en soluciones de inteligencia artificial para empresas.

Palabras clave integradas naturalmente: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Si ya has desplegado aplicaciones Laravel en AWS comparte los retos que encontraste. En Q2BSTUDIO podemos ayudarte a optimizar despliegues, seguridad y escalado para que tu portfolio o aplicación de negocio funcione de forma fiable y segura.

Etiquetas: laravel aws deployment portfolio webdev php nginx ssl

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.