Laravel, een krachtig PHP-framework, en Inertia.js, een dynamische JavaScript-bibliotheek, werken naadloos samen om de ontwikkeling van apps te stroomlijnen. Laravel vereenvoudigt taken aan de serverzijde, terwijl Inertia.js interacties aan de clientzijde vergemakkelijkt. Samen ondersteunen ze een soepele gegevensstroom en realtime updates, zodat je snel responsieve webapplicaties kunt bouwen.

Het deployen van een Laravel-Inertia applicatie met behulp van Kinsta’s Applicatie Hosting dienst bestaat uit een paar stappen:

  1. Stel de database in met behulp van Kinsta’s Database Hosting.
  2. Host je applicatie en configureer buildpacks voor Node.js en PHP, waarbij de database wordt geïntegreerd.
  3. Configureer Node.js om Inertia en PHP dependencies te installeren voor de Inertia omgeving.

Deze tutorial leidt je stap voor stap door dit proces.

De vereisten voor deployments

Om deze handleiding te kunnen volgen, moet je ervoor zorgen dat je aan de volgende voorwaarden voldoet:

In dit artikel deploy je een blogapplicatie die een lijst met artikelen serveert en de lezer een specifiek bericht laat bekijken. De applicatie is vormgegeven met Tailwind CSS en gebouwd met Laravel en Vue.js.

De Node.js JavaScript runtime omgeving zorgt voor rendering aan de serverkant. Het coördineert de communicatie tussen de componenten van de Inertia.js frontend applicatie en de Laravel backend voor dynamische frontend updates vanaf de serverzijde.

Blogapplicatie met een lijst van artikelen en plaatshoudertekst
De Kinsta Blog applicatie met een titel en een lijst met artikelen.

Lees voor meer informatie over het bouwen van deze applicatie Zo gebruik je Inertia.js in je Laravel projecten. Je kunt ook de volledige broncode van de app downloaden.

Hoe de applicatie te deployen op Kinsta

Begin met het opzetten van een database voor je applicatie op Kinsta’s Database Hosting. Dit kun je doen door de volgende stappen te volgen:

  1. Log in of maak een account aan om je MyKinsta dashboard te bekijken.
  2. Klik op Databases in de linker zijbalk en klik vervolgens op Database toevoegen.
  3. Voer in het gedeelte Basisgegevens de gegevens van je database in. Dit bevat het Databasetype (MySQL) en de Versie (8.0). Klik vervolgens op Doorgaan.
  4. Het gedeelte Samenvatting toont de factuurgegevens van de service en je factuurgegevens. Bevestig en klik op Database maken.

De Laravel omgeving configureren

Om de Laravel-omgeving te configureren op Kinsta’s Applicatie Hosting. Volg deze stappen:

  1. Klik op Applicaties in de linker zijbalk van MyKinsta en klik vervolgens op Applicatie toevoegen.
  2. Kies de repository van je applicatie, schakel automatische deployment bij commit in, voer de naam van de applicatie in en selecteer de locatie van het datacenter. Je applicatie en database moeten zich in dezelfde regio bevinden.
  3. Voer vervolgens je omgevingsvariabelen in. Typ APP_KEY in het veld Key 1. Gebruik de Laravel online generator om een sleutel te maken voor Waarde 1. Klik op Doorgaan.
  4. Selecteer op het tabblad Omgeving bouwen de optie Gebruik buildpacks om container image op te zetten. Met deze optie kun je de buildpacks later kiezen.
  5. Geef op het tabblad Resources het startcommando van je applicatie op. Aangezien dit een Laravel applicatie is, wordt het volgende commando gebruikt:
    php artisan serve --host 0.0.0.0 --port 8080
  6. Op het tabblad Samenvatting zie je de factuur met je pod en betaalmethode. Bevestig alle informatie en klik op Applicatie maken.

De deployment van je applicatie start. Maar het mislukt omdat je nog steeds de buildpacks moet toevoegen die nodig zijn tijdens het bouwen van je Laravel-Inertia applicatie.

Buildpacks toevoegen

  1. Klik in het linkermenu van je applicatie op Instellingen.
  2. Klik vervolgens op de build tab en Buildpack toevoegen om de Node.js en PHP buildpacks toe te voegen. Voeg de buildpacks met de primaire taal als laatste toe aan de buildpack-lijst om ervoor te zorgen dat de taalspecifieke buildpack voorrang heeft op de algemene configuratie van de applicatieomgeving.
  3. Klik op Buildpack toevoegen en voeg de Node.js en PHP buildpacks toe. Zorg ervoor dat de buildpack voor de primaire taal (PHP) als laatste wordt toegevoegd.

    Pagina voor buildpack toevoegen, selecteer Node.js en PHP
    Het toevoegen van buildpacks voor de Laravel-Inertia applicatie.

  4. Klik op Deployment op de zijbalk en klik op Redeployment.

De Node.js omgeving instellen

  1. De Laravel-Inertia applicatie heeft het Vite script nodig om de pagina bij te werken zonder te herladen. Klik daarom in het linkermenu van je Kinsta-account op Processen.
  2. Klik in de sectie Runtime processen op Maak proces. Kies Background worker als procestype en voeg de volgende opdrachten toe:
    npm install && npm start
    Node.js startcommando's maken voor de Laravel-Inertia applicatie.
    Node.js startcommando’s maken voor de Laravel-Inertia applicatie.

    Geef het proces de naam die je wilt om het binnen Kinsta te identificeren, zoals “Node”. Selecteer ook de Pod grootte en Aantal instances op basis van de behoeften en het budget van je applicatie. Deze tutorial gebruikt 2 CPU’s met 8GB RAM.

  3. Klik op Doorgaan om je proces aan te maken. Deze actie activeert een redeployment.

Stel de databaseomgeving in

  1. Op de pagina Instellingen , op het tabblad Verbindingen, zou je Toegestane applicaties moeten zien. Klik op Verbinding toevoegen om de database als verbinding toe te voegen.
  2. Selecteer de database. Vink daaronder Omgevingsvariabelen toevoegen om toegang te krijgen tot de database aan. Deze actie vult automatisch alle database omgevingsvariabelen.
  3. Wijzig de variabelensleutels zodat ze overeenkomen met het database.php bestand van je applicatie, dat zich in de config map in de root van je applicatie bevindt.
  4. Wijzig de Laravel sleutels DB_DATABASE, DB_USERNAME en DATABASE_URL, zoals in de volgende schermafbeelding:

    Omgevingsvariabelen toevoegen en de sleutels wijzigen.
    Omgevingsvariabelen toevoegen en de sleutels wijzigen.

  5. Voeg nog een omgevingsvariabele toe met de naam APP_URL. De waarde hiervan is de URL voor het deployen van je applicatie. Haal deze informatie op uit Domeinen in het zijmenu.

De database migreren

  1. Klik in het zijmenu op Processen.
  2. Klik in de sectie Runtime processen op Proces maken.
  3. Geef het proces de naam “Migratie”. Selecteer het type Background worker. Plak de volgende opdracht in het veld Start commando:
    php artisan migrate:fresh --seed --force

    Dit commando migreert de Artikel tabel en voegt tien artikelen toe aan de applicatie. Je processen zouden eruit moeten zien als de volgende schermafbeelding, met Node-, Migratie- en Web-proces en hun details.

    Een lijst met runtimeprocessen, inclusief proces, type, instanties, pod-grootte en bewerkings- of verwijderacties voor Node-, migratie- en webproces
    Runtime processen bij het deployen van de Laravel-Inertia applicatie.

  4. Selecteer Deployments in het zijmenu. Klik op Laatste deployment. Je zou een pagina als de volgende moeten zien, met een titel en een lijst van artikelen met placeholdertekst en afbeeldingen.

    De startpagina van de applicatie met de titel Kinsta Blog en een lijst met artikelen met plaatshoudertekst
    De Laravel-Inertia applicatie is succesvol gedeployd naar Kinsta.

De applicatie monitoren en onderhouden na de deployment

Na het uitrollen van je applicatie kun je problemen ondervinden als de aanvragen toenemen. De applicatie-analyse van Kinsta helpt je om deze veranderingen te monitoren en de gezondheid van je applicatie te behouden.

Analytics toont resources, prestaties en HTTP-verzoeken om je een idee te geven van hoe je applicatie werkt. Je kunt snel zien wanneer je applicatie meer resources nodig heeft in de monitormenu’s op het prestatietabblad en dan naar behoefte bij- of afschalen.

De runtime logs helpen je team ook om problemen snel op te lossen. Je kunt de bron van het probleem vinden in de logboekvermeldingen, waardoor het eenvoudig wordt om je applicatie te onderhouden.

Hoe je veelvoorkomende problemen met de deployment kunt oplossen

Je kunt een aantal problemen tegenkomen bij het deployen van je Laravel-Inertia applicatie op Kinsta. Laten we eens bespreken wat deze problemen zijn en hoe je ze kunt oplossen.

Ten eerste voegt Kinsta een speciaal teken toe aan het gegenereerde wachtwoord wanneer je een database aanmaakt. Dit kan rollback fouten veroorzaken wanneer je de database verbindt met je Laravel-Inertia applicatie. Om dit probleem op te lossen, gebruik je je eigen wachtwoord in plaats van te vertrouwen op de gegenereerde wachtwoorden.

Auto-commit deploymentfouten zijn een ander typisch probleem. De deployment kan mislukken als je het verkeerde startcommando opgeeft. Om dit probleem op te lossen, controleer je of je processen typefouten hebben of verkeerd zijn toegewezen aan een procestype.

Samenvatting

Je weet nu hoe je een Laravel en Inertia applicatie kunt deployen naar Kinsta. Het omvat het instellen van Buildpacks en start commando’s om de applicatie te configureren, het maken van een database en vervolgens het verbinden en migreren van de database om gegevens aan de applicatie te leveren.

Door Laravel en Inertia te combineren kun je je app en database verbinden zonder handmatig een API in te stellen, waardoor je tijd en energie bespaart die je in plaats daarvan kunt gebruiken om spannende nieuwe app-functies te maken.

Kinsta host je applicatie en de bijbehorende database. Je kunt ook de externe verbindingen van je database gebruiken om verbinding te maken met een applicatie die buiten Kinsta draait. 37 datacenters helpen je om services dichter bij de gebruikers van je applicatie aan te bieden, waardoor de vertraging afneemt terwijl je een betrouwbare, veilige deployment-infrastructuur biedt.

Gebruik wat je in deze tutorial hebt geleerd om je dynamische webapplicatie – of je database – te deployen bij Kinsta. Begin vandaag nog met je reis naar Kinsta.