GuíasPHPLaravel

Desplegar Laravel

Este artículo te enseñará cómo desplegar tu proyecto de Laravel en Zeabur.

Paso 1: Configuración del Entorno

Primero puedes probar y compilar localmente para asegurarte de que tu proyecto se ejecute normalmente. Debes especificar la versión de PHP en composer.json para que Zeabur pueda desplegarlo.

{
  "require": {
        "php": "8.1"
  }
}

Paso 2: Crear un Proyecto (Opcional)

Primero, necesitas inicializar un proyecto de Laravel en tu entorno de desarrollo local. Podemos seguir las instrucciones en la documentación oficial de Laravel para completar este paso.

Después de la creación, inicializa un repositorio Git y súbelo a tu GitHub.

Paso 3: Desplegar el Proyecto Laravel

En tu proyecto, haz clic en el botón Deploy service o Add new service y selecciona Deploy your source code.

deploy

Busca el repositorio de código de tu proyecto Laravel que deseas desplegar y haz clic en Importar. Tu aplicación Laravel comenzará a desplegarse automáticamente.

Paso 4: Agrega una APP_KEY a tu proyecto Laravel

Generar una clave de aplicación o APP_KEY es uno de los pasos iniciales más importantes cada vez que un desarrollador de Laravel crea o clona una aplicación de Laravel.

Accede a la página de configuración de variables del proyecto e ingresa tu parámetro de entorno.

Puedes generar una APP_KEY ejecutando este comando dentro de tu proyecto Laravel:

php artisan key:generate

APP_KEY

Conectar a una Base de Datos MySQL

Normalmente, tu proyecto Laravel necesitará conectarse a una base de datos MySQL. Puedes conectarte a una base de datos MySQL siguiendo estos pasos:

  1. Primero necesitas instalar la extensión ext-pdo_mysql en tu proyecto Laravel para que Zeabur pueda habilitar el soporte PHP para MySQL. Instala esta extensión en tu entorno local usando el siguiente comando:

    composer require ext-pdo_mysql

    Luego, confirma los nuevos archivos composer.json y composer.lock y súbelos a tu repositorio de GitHub.

  2. Crea un servicio MySQL y luego, en tu entorno local, ejecuta el siguiente comando para migrar tus tablas a Zeabur:

    export DATABASE_URL=mysql://<usuario>:<contraseña>@<host>:<puerto>/<base_de_datos>
    php artisan migrate

    Los valores <usuario>, <contraseña>, <host>, <puerto> y <base_de_datos> son los detalles de tu servicio MySQL, que puedes encontrar en la sección “Instruction” de la página del servicio MySQL.

  3. En la página de servicio Laravel de Zeabur, configura una variable de entorno DATABASE_URL con el siguiente contenido:

    mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}

    El significado de ${MYSQL_USER} y otras variables se puede encontrar en la sección de variables de entorno de la documentación de MySQL.

Optimización Automática

Cuando construyes un servicio Laravel, Zeabur ejecuta estos comandos de optimización 1:

php artisan optimize
php artisan config:cache
php artisan event:cache
php artisan route:cache
php artisan view:cache

Puedes deshabilitar estos comandos de optimización automática configurando la variable PHP_OPTIMIZE=false. Luego, utiliza comandos de compilación personalizados para ajustar tu proceso de optimización.

Soporte para Vite / Laravel Mix

Zeabur ejecuta automáticamente npm install y npm run build si existe un script build en tu archivo package.json. Dado que tanto Vite como Laravel Mix definen un script build en package.json por defecto, Zeabur compila automáticamente estos recursos al construir una aplicación Laravel.

Footnotes

  1. https://laravel.com/docs/11.x/deployment#optimization