Recomendaciones en Laravel producción: Optimiza tus archivos
Índice de contenido
Anteriormente ya he comentado como puedes subir tu app a producción:
Laravel a producción/deployment mediante Railway
Quería agregar un pequeño dato adicional relacionado con la carpeta vendor, ya que es clave entender cómo funciona especialmente cuando vamos a producción. Lo podemos comparar con lo que sucede en el ecosistema de Node.js con la carpeta node_modules.
Cuando creamos un proyecto en Laravel, es común que tengamos también una carpeta node_modules, especialmente si trabajamos con herramientas como Vue, React, Tailwind, etc. Esta carpeta contiene paquetes necesarios solo durante el desarrollo, y luego ejecutamos npm run build para generar los archivos optimizados para producción.
Con la carpeta vendor, sucede algo similar. Aunque puedes subirla tal cual a tu servidor de producción, lo ideal es optimizarla previamente, ya que contiene también dependencias que solo se usan durante el desarrollo.
Comando recomendado para optimizar vendor:
composer install --no-dev --optimize-autoloader¿Qué hace cada parte?
- install Instala las dependencias.
- --no-dev: evita instalar dependencias marcadas como de desarrollo en el composer.json.
- --optimize-autoloader: genera un autoload más eficiente para mejorar el rendimiento.
Esto equivale, en términos simples, a tener una versión “minificada” de tus dependencias PHP para producción.
Limpieza de caché (muy importante)
En producción, también es recomendable limpiar la caché, ya que podría estar causando errores que en local no aparecen.
Puedes hacerlo con:
php artisan config:clear php artisan route:clear php artisan view:clear php artisan cache:clear
Si no tienes acceso a la terminal (como en un hosting compartido), puedes hacerlo manualmente desde un cliente FTP. Por ejemplo, puedes:
- Renombrar la carpeta bootstrap/cache
- Crear una nueva carpeta vacía llamada cache
Subir el proyecto y verificar que todo funcione
Si todo va bien después de unos días, puedes eliminar la carpeta vieja.
Recomendaciones prácticas
Antes de ejecutar el comando Composer: Mueve o renombra la carpeta vendor actual, por si la necesitas luego, ya que es la carpeta que usamos al momento de desarrollar.
No subas la carpeta vendor ni node_modules al repositorio Git, esto es importante si en base a los pasos anteriores renombras la carpeta vendor y la mantienes en el proyecto, va a ser rastreada por git.
Si vas a subir el proyecto por FTP: puedes también comprimirlo con ZIP (incluyendo la nueva carpeta vendor optimizada), súbelo y descomprímelo en el servidor.
NO olvides revisar el Log del proyecto en Laravel cuando esta en producción
Seguramente cuando subes tu excelente aplicación en Laravel a producción y obviamente pasas aquí la bandera a production en tu .env, o simplemente no subes a producción el .env como te he comentado en otros videos, entonces seguramente te quedas temblando de posibles problemas que puedan ocurrir en tu aplicación es decir errores y no sepas cómo detectarlos.
Esto lo puedes hacer fácilmente cuando tú pasas este check a producción y automáticamente todos los errores se guardan en un log y no tienes que configurar nada más; entonces, lo único que tienes que hacer aquí es buscar ese log que se encuentra en
storage/logs
A partir de los registros que puedes empezar a aplicar correcciones, así que, simplemente lo descargas lo abres y evalúas lo mostrado en el mismo y realices las correcciones pertinentes basado en el mismo cada cierto tiempo.
Tip final
Estas recomendaciones yo mismo las aplico por ejemplo cuando voy a actualizar los archivos de la carpeta public/build, no la elimino de inmediato, si no, la renómbralo (por ejemplo, __build) y conserva ese respaldo unos días hasta asegurarte de que todo funciona bien.
Acepto recibir anuncios de interes sobre este Blog.
Veremos el comando que debemos de ejecutar al momento de subir tu app a producción de Laravel y Hablaré sobre la importancia de revisar el log del proyecto cuando la app del proyecto está en producción.