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.
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
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:
-
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
ycomposer.lock
y súbelos a tu repositorio de GitHub. -
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. -
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.