Estamos actualizando el sitio. Durante unos días es posible que veas fallos de diseño o de traducción. La documentación sigue disponible: si una página se ve mal, recárgala más tarde.

Inicio Laravel 10.x Despliegue

Despliegue

10.x 7 de mar. de 2026

#Introducción

Cuando esté listo para desplegar su aplicación Laravel en producción, hay algunas cosas importantes que puede hacer para asegurarse de que su aplicación funcione de la manera más eficiente posible. En este documento, cubriremos algunos puntos de partida excelentes para garantizar que su aplicación Laravel se despliegue correctamente.

#Requisitos del servidor

El framework Laravel tiene algunos requisitos del sistema. Debe asegurarse de que su servidor web tenga la siguiente versión mínima de PHP y extensiones:

  • PHP >= 8.1
  • Extensión PHP Ctype
  • Extensión PHP cURL
  • Extensión PHP DOM
  • Extensión PHP Fileinfo
  • Extensión PHP Filter
  • Extensión PHP Hash
  • Extensión PHP Mbstring
  • Extensión PHP OpenSSL
  • Extensión PHP PCRE
  • Extensión PHP PDO
  • Extensión PHP Session
  • Extensión PHP Tokenizer
  • Extensión PHP XML

#Configuración del servidor

#Nginx

Si está desplegando su aplicación en un servidor que ejecuta Nginx, puede usar el siguiente archivo de configuración como punto de partida para configurar su servidor web. Lo más probable es que este archivo necesite ser personalizado según la configuración de su servidor. Si desea ayuda para administrar su servidor, considere usar un servicio oficial de gestión y despliegue de servidores Laravel como Laravel Forge.

Asegúrese, como en la configuración a continuación, de que su servidor web dirija todas las solicitudes al archivo public/index.php de su aplicación. Nunca debe intentar mover el archivo index.php a la raíz de su proyecto, ya que servir la aplicación desde la raíz del proyecto expondrá muchos archivos de configuración sensibles al público en Internet:

server {
    listen 80;
    listen [::]:80;
    server_name example.com;
    root /srv/example.com/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    index index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

#Optimización

#Optimización del autoloader

Al desplegar en producción, asegúrese de optimizar el mapa del autoloader de clases de Composer para que Composer pueda encontrar rápidamente el archivo correcto para cargar una clase dada:

composer install --optimize-autoloader --no-dev
Примечание

Además de optimizar el autoloader, siempre debe asegurarse de incluir un archivo composer.lock en el repositorio de control de código fuente de su proyecto. Las dependencias de su proyecto se pueden instalar mucho más rápido cuando hay un archivo composer.lock presente.

#Caché de configuración

Al desplegar su aplicación en producción, debe asegurarse de ejecutar el comando Artisan config:cache durante su proceso de despliegue:

php artisan config:cache

Este comando combinará todos los archivos de configuración de Laravel en un solo archivo en caché, lo que reduce considerablemente la cantidad de accesos al sistema de archivos que el framework debe hacer al cargar sus valores de configuración.

Внимание

Si ejecuta el comando config:cache durante su proceso de despliegue, debe asegurarse de que solo está llamando a la función env desde dentro de sus archivos de configuración. Una vez que la configuración esté en caché, el archivo .env no se cargará y todas las llamadas a la función env para variables .env devolverán null.

#Caché de eventos

Si su aplicación utiliza event discovery, debe almacenar en caché los mapeos de eventos a listeners durante su proceso de despliegue. Esto se puede lograr invocando el comando Artisan event:cache durante el despliegue:

php artisan event:cache

#Caché de rutas

Si está construyendo una aplicación grande con muchas rutas, debe asegurarse de ejecutar el comando Artisan route:cache durante su proceso de despliegue:

php artisan route:cache

Este comando reduce todas sus registraciones de rutas a una sola llamada de método dentro de un archivo en caché, mejorando el rendimiento del registro de rutas cuando se registran cientos de rutas.

#Caché de vistas

Al desplegar su aplicación en producción, debe asegurarse de ejecutar el comando Artisan view:cache durante su proceso de despliegue:

php artisan view:cache

Este comando precompila todas sus vistas Blade para que no se compilen bajo demanda, mejorando el rendimiento de cada solicitud que devuelve una vista.

#Modo de depuración

La opción de depuración en su archivo de configuración config/app.php determina cuánta información sobre un error se muestra realmente al usuario. Por defecto, esta opción está configurada para respetar el valor de la variable de entorno APP_DEBUG, que se almacena en el archivo .env de su aplicación.

Внимание

En su entorno de producción, este valor siempre debe ser false. Si la variable APP_DEBUG está configurada como true en producción, corre el riesgo de exponer valores de configuración sensibles a los usuarios finales de su aplicación.

#Despliegue fácil con Forge / Vapor

#Laravel Forge

Si aún no está listo para administrar la configuración de su propio servidor o no se siente cómodo configurando todos los servicios necesarios para ejecutar una aplicación Laravel robusta, Laravel Forge es una excelente alternativa.

Laravel Forge puede crear servidores en varios proveedores de infraestructura como DigitalOcean, Linode, AWS y más. Además, Forge instala y administra todas las herramientas necesarias para construir aplicaciones Laravel robustas, como Nginx, MySQL, Redis, Memcached, Beanstalk y más.

Примечание

¿Quiere una guía completa para desplegar con Laravel Forge? Consulte el Laravel Bootcamp y la serie de videos de Forge disponible en Laracasts.

#Laravel Vapor

Si desea una plataforma de despliegue totalmente serverless y autoescalable optimizada para Laravel, consulte Laravel Vapor. Laravel Vapor es una plataforma de despliegue serverless para Laravel, impulsada por AWS. Lance su infraestructura Laravel en Vapor y enamórese de la simplicidad escalable del serverless. Laravel Vapor está afinado por los creadores de Laravel para funcionar perfectamente con el framework, para que pueda seguir escribiendo sus aplicaciones Laravel exactamente como está acostumbrado.