Laravel, un potente framework PHP, e Inertia.js, una biblioteca JavaScript dinámica, colaboran a la perfección para agilizar el desarrollo de aplicaciones. Laravel simplifica las tareas del lado del servidor, mientras que Inertia.js facilita las interacciones del lado del cliente. Juntos, permiten un flujo de datos fluido y actualizaciones en tiempo real, ayudándote a crear rápidamente aplicaciones web con capacidad de respuesta.

Desplegar una aplicación Laravel-Inertia utilizando el servicio de Alojamiento de Aplicaciones de Kinsta implica unos pocos pasos:

  1. Configura la base de datos utilizando el Alojamiento de Base de Datos de Kinsta.
  2. Aloja tu aplicación y configura buildpacks para Node.js y PHP, integrando la base de datos.
  3. Configura Node.js para instalar las dependencias de Inertia y PHP para el entorno Inertia.

Este tutorial te guía paso a paso por este proceso.

Entendiendo los requisitos del despliegue

Para seguirlo, asegúrate de que cumples los siguientes requisitos previos:

  • Conocimientos fundamentales de Laravel y Vue.js
  • Familiaridad con bases de datos
  • Una cuenta Kinsta. Comienza una prueba gratuita hoy mismo.

En este artículo, desplegarás una aplicación de blog que sirve una lista de artículos y permite al lector ver una entrada específica. La aplicación se diseñó con Tailwind CSS y se creó con Laravel y Vue.js.

El entorno de ejecución JavaScript Node.js se encarga de la renderización del lado del servidor. Coordina la comunicación entre los componentes del frontend de la aplicación Inertia.js y el backend Laravel para las actualizaciones dinámicas del frontend desde el lado del servidor.

Aplicación de blog con una lista de artículos y texto de marcador de posición
La aplicación Kinsta Blog con un título y una lista de artículos.

Para obtener más información sobre cómo crear esta aplicación, lee Cómo utilizar Inertia.js en tus proyectos Laravel. También puedes descargar el código fuente completo de la aplicación.

Cómo desplegar la aplicación en Kinsta

Empieza por configurar una base de datos para tu aplicación en el Alojamiento de Bases de Datos de Kinsta. Esto se puede hacer siguiendo estos pasos:

  1. Inicia sesión o crea una cuenta para ver tu panel MyKinsta.
  2. Haz clic en Bases de datos en la barra lateral izquierda y, a continuación, en Añadir base de datos.
  3. En la sección Detalles básicos, introduce los detalles de tu base de datos. Esto incluye el Tipo de base de datos (MySQL) y la Versión (8.0). A continuación, haz clic en Continuar.
  4. La sección Resumen muestra los detalles de la factura del servicio y tu información de facturación. Confirma y haz clic en Crear base de datos.

Cómo configurar el entorno Laravel

Para configurar el entorno Laravel en el Alojamiento de Aplicaciones de Kinsta. Sigue estos pasos:

  1. Haz clic en Aplicaciones en la barra lateral izquierda de MyKinsta y, a continuación, haz clic en Añadir aplicación.
  2. Elige el repositorio de tu aplicación, activa el despliegue automático al hacer commit, introduce el Nombre de la aplicación y selecciona la ubicación del Centro de datos. Tu aplicación y tu base de datos deben estar en la misma región.
  3. A continuación, introduce tus variables de entorno. Escribe APP_KEY en el campo Clave 1. Utiliza el generador online de Laravel para crear una clave para el Valor 1. Haz clic en Continuar.
  4. En la pestaña Entorno de construcción, selecciona Utilizar Buildpacks para configurar la imagen del contenedor. Esta opción te permite elegir los buildpacks más adelante.
  5. En la pestaña Recursos, especifica el comando de inicio de tu aplicación. Como se trata de una aplicación Laravel, utiliza el siguiente comando:
    php artisan serve --host 0.0.0.0 --port 8080
  6. La pestaña Resumen muestra la factura con tu pod y forma de pago. Confirma toda la información y haz clic en Crear aplicación.

Se inicia el despliegue de tu aplicación. Pero falla porque aún tienes que añadir los buildpacks necesarios durante la construcción de tu aplicación Laravel-Inertia.

Añadir Buildpacks

  1. En el menú de la izquierda de tu aplicación, haz clic en Configuración.
  2. A continuación, haz clic en la pestaña construir y en Añadir buildpack para añadir los buildpacks Node.js y PHP . Añade los buildpacks que contengan el lenguaje principal en último lugar a la lista de buildpacks para asegurarte de que el buildpack específico del lenguaje tiene prioridad sobre la configuración general del entorno de la aplicación.
  3. Haz clic en Añadir buildpack y añade los buildpacks Node.js y PHP. Asegúrate de que el buildpack del lenguaje principal (PHP) se añade en último lugar.

    Pantalla Añadir buildpack, selecciona Node.js y PHP
    Añadir buildpacks para la aplicación Laravel-Inertia.

  4. Haz clic en Despliegue en la barra lateral y en Redesplegar.

Configura el entorno Node.js

  1. La aplicación Laravel-Inertia necesita el script Vite para que la página se actualice sin recargar. Así que, en el menú lateral izquierdo de tu cuenta Kinsta, haz clic en Procesos.
  2. En la sección Procesos en tiempo de ejecución, haz clic en Crear proceso. Elige Worker background como Tipo de proceso y añade los siguientes comandos:
    npm install && npm start
    Crear proceso para la aplicación
    Crear comandos de inicio Node.js para la aplicación Laravel-Inertia.

    Nombra el proceso como quieras identificarlo dentro de Kinsta, como «Node». Además, selecciona el Tamaño del Pod y el número de Instancias en función de las necesidades y el presupuesto de tu aplicación. Este tutorial utiliza 2 CPUs con 8GB de RAM.

  3. Haz clic en Continuar para crear tu proceso. Esta acción desencadena un redespliegue.

Configura el entorno de la base de datos

  1. En la página Configuración , en la pestaña Conexiones, deberías ver Aplicaciones permitidas. Haz clic en Añadir conexión para añadir la base de datos como conexión.
  2. Selecciona la base de datos. Debajo, marca Añadir variables de entorno para acceder a la base de datos. Esta acción rellena automáticamente todas las variables de entorno de la base de datos.
  3. Edita las claves de las variables para que coincidan con el archivo database.php de tu aplicación, que está en la carpeta config de la raíz de tu aplicación.
  4. Modifica las claves de Laravel DB_DATABASE, DB_USERNAME y DATABASE_URL, como en la siguiente captura de pantalla:

    Una lista de seis claves y sus valores redactados
    Añadiendo variables de entorno y modificando las claves.

  5. Añade otra variable de entorno llamada APP_URL. Su valor es la URL de despliegue de tu aplicación. Obtén esta información de Dominios en el menú lateral.

Migrar la base de datos

  1. En el menú lateral, haz clic en Procesos.
  2. En la sección Procesos en tiempo de ejecución, haz clic en Crear proceso.
  3. Nombra el proceso «Migración». Selecciona el tipo Worker background. Pega el siguiente comando en el campo Comando de inicio:
    php artisan migrate:fresh --seed --force

    Este comando migra la tabla de Artículos y añade diez artículos a la aplicación. Tus procesos deben parecerse a la siguiente captura de pantalla, con los procesos Node, Migración y Web y sus detalles.

    Una lista de procesos en tiempo de ejecución que incluye el proceso, el tipo, las instancias, el tamaño del pod y las acciones de edición o eliminación para los procesos Node, Migración y Web
    Procesos en tiempo de ejecución al desplegar la aplicación Laravel-Inertia.

  4. En el menú lateral, selecciona Despliegues. Haz clic en Último despliegue. Deberías ver una página como la siguiente, con un título y una lista de artículos con texto e imágenes de marcador de posición.

    La página de inicio de la aplicación con el título Blog Kinsta y una lista de artículos con texto de marcador de posición
    La aplicación Laravel-Inertia se ha desplegado correctamente en Kinsta.

Cómo supervisar y mantener la aplicación después del despliegue

Después de desplegar tu aplicación, puedes experimentar problemas a medida que aumentan sus peticiones. Las analíticas de aplicaciones de Kinsta te ayudan a controlar estos cambios y a mantener el buen estado de tu aplicación.

Las analíticas muestran los recursos, el rendimiento y las peticiones HTTP para darte una idea de cómo funciona tu aplicación. Puedes observar rápidamente cuándo tu aplicación necesita más recursos en los tableros de monitorización de la pestaña de rendimiento, y luego aumentar o reducir según sea necesario.

Los registros de tiempo de ejecución también ayudan a tu equipo a depurar rápidamente los problemas. Puedes encontrar el origen del problema en las entradas del registro, lo que facilita el mantenimiento de tu aplicación.

Cómo solucionar problemas comunes de despliegue

Es posible que te encuentres con un par de problemas al desplegar tu aplicación Laravel-Inertia en Kinsta. Veamos cuáles son estos problemas y cómo solucionarlos.

En primer lugar, Kinsta añade un carácter especial a la contraseña generada cuando creas una base de datos. Esto puede causar errores de rollback cuando conectas la base de datos a tu aplicación Laravel-Inertia. Para solucionar este problema, utiliza tu contraseña en lugar de confiar en las contraseñas generadas.

Otro problema común son los fallos de despliegue por auto-commit. El despliegue puede fallar si especificas un comando de inicio incorrecto. Para solucionar este problema, comprueba si tus procesos tienen errores tipográficos o están asignados incorrectamente a un tipo de proceso.

Resumen

Ahora ya sabes cómo desplegar una aplicación Laravel e Inertia en Kinsta. Esto implica establecer Buildpacks y comandos de inicio para configurar la aplicación, crear una base de datos y, a continuación, conectar y migrar la base de datos para servir datos a la aplicación.

Combinar Laravel e Inertia te permite conectar tu aplicación y tu base de datos sin configurar manualmente una API, ahorrando tiempo y energía que puedes utilizar en su lugar para crear nuevas y emocionantes características de la aplicación.

Kinsta aloja tu aplicación y su base de datos. También puedes utilizar las conexiones externas de tu base de datos para conectarte a una aplicación que se ejecute fuera de Kinsta. Los 37 centros de datos te ayudan a ofrecer servicios más cercanos a los usuarios de tu aplicación, reduciendo el retraso y ofreciendo al mismo tiempo una infraestructura de despliegue fiable y segura.

Utiliza lo que has aprendido en este tutorial para desplegar tu aplicación web dinámica — o tu base de datos — en Kinsta.  Comienza hoy mismo tu aventura de despliegue con Kinsta.