Laravel, ein leistungsstarkes PHP-Framework, und Inertia.js, eine dynamische JavaScript-Bibliothek, arbeiten nahtlos zusammen, um die Anwendungs-Entwicklung zu optimieren. Laravel vereinfacht serverseitige Aufgaben, während Inertia.js die Interaktionen auf der Client-Seite erleichtert. Zusammen unterstützen sie einen reibungslosen Datenfluss und Echtzeit-Updates und helfen dir, schnell reaktionsfähige Webanwendungen zu entwickeln.

Die Bereitstellung einer Laravel-Inertia-Anwendung mit dem Anwendungs-Hosting-Dienst von Kinsta erfolgt in wenigen Schritten:

  1. Richte die Datenbank mit Kinstas Datenbank-Hosting ein.
  2. Hoste deine Anwendung und konfiguriere die Buildpacks für Node.js und PHP und integriere die Datenbank.
  3. Konfiguriere Node.js, um Inertia und PHP-Abhängigkeiten für die Inertia-Umgebung zu installieren.

Dieses Tutorial führt dich Schritt für Schritt durch diesen Prozess.

Die Voraussetzungen für die Bereitstellung verstehen

Um mitzumachen, musst du sicherstellen, dass du die folgenden Voraussetzungen erfüllst:

In diesem Artikel stellst du eine Blog-Anwendung bereit, die eine Liste von Artikeln anzeigt und es dem Leser ermöglicht, einen bestimmten Beitrag zu lesen. Die Anwendung wurde mit Tailwind CSS gestylt und mit Laravel und Vue.js erstellt.

Die JavaScript-Laufzeitumgebung Node.js sorgt für das serverseitige Rendering. Sie koordiniert die Kommunikation zwischen den Komponenten der Inertia.js-Frontend-Anwendung und dem Laravel-Backend für dynamische Frontend-Aktualisierungen von der Serverseite aus.

Blog-Anwendung mit einer Liste von Artikeln und Platzhaltertext
Die Kinsta Blog-Anwendung mit einem Titel und einer Liste von Artikeln

Weitere Informationen darüber, wie du diese Anwendung erstellst, findest du unter Wie du Inertia.js in deinen Laravel-Projekten verwendest. Du kannst auch den vollständigen Quellcode der Anwendung herunterladen.

So stellst du die Anwendung auf Kinsta bereit

Beginne damit, eine Datenbank für deine Anwendung auf dem Datenbank-Hosting von Kinsta einzurichten. Dazu musst du die folgenden Schritte befolgen:

  1. Logge dich ein oder erstelle ein Konto, um dein MyKinsta-Dashboard zu sehen.
  2. Klicke in der linken Seitenleiste auf Datenbanken und dann auf Datenbank hinzufügen.
  3. Gib im Abschnitt Grundlegende Details die Details deiner Datenbank ein. Dazu gehören der Datenbanktyp (MySQL) und die Version (8.0). Klicke dann auf Weiter.
  4. Im Abschnitt Zusammenfassung werden die Rechnungsdetails des Dienstes und deine Rechnungsdaten angezeigt. Bestätige und klicke auf Datenbank erstellen.

So konfigurierst du die Laravel-Umgebung

So konfigurierst du die Laravel-Umgebung auf dem Application Hosting von Kinsta. Befolge diese Schritte:

  1. Klicke in der linken Seitenleiste von MyKinsta auf Anwendungen und dann auf Anwendung hinzufügen.
  2. Wähle das Repository deiner Anwendung aus, aktiviere die automatische Bereitstellung beim Commit, gib den Anwendungsnamen ein und wähle den Standort des Rechenzentrums. Deine Anwendung und die Datenbank müssen sich in der gleichen Region befinden.
  3. Als nächstes gibst du deine Umgebungsvariablen ein. Gib APP_KEY in das Feld Schlüssel 1 ein. Verwende den Laravel Online-Generator, um einen Schlüssel für Wert 1 zu erstellen. Klicke auf Weiter.
  4. Auf der Registerkarte Build-Umgebung wählst du Buildpacks verwenden, um das Container-Image einzurichten. Mit dieser Option kannst du die Buildpacks später auswählen.
  5. Gib auf der Registerkarte Ressourcen den Startbefehl für deine Anwendung an. Da es sich um eine Laravel-Anwendung handelt, verwendet sie den folgenden Befehl:
    php artisan serve --host 0.0.0.0 --port 8080
  6. Auf der Registerkarte Zusammenfassung wird die Rechnung mit deinem Pod und der Zahlungsmethode angezeigt. Bestätige alle Informationen und klicke auf Anwendung erstellen.

Die Bereitstellung deiner Anwendung beginnt. Sie schlägt jedoch fehl, weil du noch die Buildpacks hinzufügen musst, die für den Build deiner Laravel-Inertia-Anwendung benötigt werden.

Buildpacks hinzufügen

  1. Klicke im Menü auf der linken Seite deiner Anwendung auf Einstellungen.
  2. Klicke dann auf die Registerkarte Build und Buildpack hinzufügen, um die Node.js- und PHP-Buildpacks hinzuzufügen. Füge die Buildpacks, die die Hauptsprache enthalten, als letztes zur Buildpack-Liste hinzu, um sicherzustellen, dass das sprachspezifische Buildpack Vorrang vor der allgemeinen Konfiguration der Anwendungsumgebung erhält.
  3. Klicke auf Buildpack hinzufügen und füge die Buildpacks für Node.js und PHP hinzu. Achte darauf, dass das Buildpack für die Primärsprache (PHP) als letztes hinzugefügt wird.

    Buildpack hinzufügen Bildschirm, wähle Node.js und PHP
    Hinzufügen von Buildpacks für die Laravel-Inertia-Anwendung

  4. Klicke in der Seitenleiste auf Bereitstellung und dann auf Erneut bereitstellen.

Einrichten der Node.js-Umgebung

  1. Die Laravel-Inertia-Anwendung braucht das Vite-Skript, damit die Seite ohne Neuladen aktualisiert werden kann. Klicke daher im linken Menü deines Kinsta-Kontos auf Prozesse.
  2. Klicke im Abschnitt Runtime-Prozesse auf Prozess erstellen. Wähle Background Worker als Prozesstyp und füge die folgenden Befehle hinzu:
    npm install && npm start
    Prozess für die Anwendung erstellen
    Erstellen von Node.js-Startbefehlen für die Laravel-Inertia-Anwendung

    Benenne den Prozess so, wie du ihn in Kinsta identifizieren möchtest, z.B. „Node“. Wähle außerdem die Pod-Größe und die Anzahl der Instanzen entsprechend den Anforderungen deiner Anwendung und deinem Budget. In diesem Tutorial werden 2 CPUs mit 8 GB RAM verwendet.

  3. Klicke auf Weiter, um deinen Prozess zu erstellen. Diese Aktion löst eine Neuverteilung aus.

Einrichten der Datenbankumgebung

  1. Auf der Seite Einstellungen , auf der Registerkarte Verbindungen, solltest du Erlaubte Anwendungen sehen. Klicke auf Verbindung hinzufügen, um die Datenbank als Verbindung hinzuzufügen.
  2. Wähle die Datenbank aus. Setze darunter ein Häkchen bei Umgebungsvariablen hinzufügen, um auf die Datenbank zuzugreifen. Diese Aktion füllt automatisch alle Umgebungsvariablen der Datenbank aus.
  3. Bearbeite die Variablenschlüssel so, dass sie mit der Datei database.php deiner Anwendung übereinstimmen, die sich im Ordner config im Stammverzeichnis deiner Anwendung befindet.
  4. Ändere die Laravel-Schlüssel DB_DATABASE, DB_USERNAME und DATABASE_URL, wie im folgenden Screenshot:

    Eine Liste von sechs Schlüsseln und ihren geschwärzten Werten
    Hinzufügen von Umgebungsvariablen und Ändern der Schlüssel

  5. Füge eine weitere Umgebungsvariable namens APP_URL hinzu. Ihr Wert ist die URL deiner Anwendungsbereitstellung. Diese Information findest du unter Domains im Seitenmenü.

Migrieren der Datenbank

  1. Klicke im Seitenmenü auf Prozesse.
  2. Im Abschnitt Laufzeitprozesse klickst du auf Prozess erstellen.
  3. Nenne den Prozess „Migration“. Wähle den Typ Hintergrundarbeiter. Füge den folgenden Befehl in das Feld Startbefehl ein:
    php artisan migrate:fresh --seed --force

    Dieser Befehl migriert die Artikeltabelle und fügt der Anwendung zehn Artikel hinzu. Deine Prozesse sollten wie der folgende Screenshot aussehen, mit Node-, Migrations- und Web-Prozess und deren Details.

    Eine Liste der Runtime-Prozesse mit Prozess, Typ, Instanzen, Pod-Größe und Bearbeitungs- oder Löschaktionen für Node-, Migrations- und Webprozesse
    Laufzeitprozesse bei der Bereitstellung der Laravel-Inertia-Anwendung

  4. Wähle im Seitenmenü Bereitstellung. Klicke auf Letzte Bereitstellung. Du solltest eine Seite wie die folgende sehen, mit einem Titel und einer Liste von Artikeln mit Platzhaltertext und Bildern.

    Die Startseite der Anwendung mit dem Titel Kinsta Blog und einer Liste von Artikeln mit Platzhaltertext
    Die Laravel-Inertia-Anwendung wurde erfolgreich auf Kinsta bereitgestellt

Wie du die Anwendung nach der Bereitstellung überwachen und pflegen kannst

Nach der Bereitstellung deiner Anwendung kann es zu Problemen kommen, wenn die Anfragen ansteigen. Die Anwendungsanalyse von Kinsta hilft dir, diese Veränderungen zu überwachen und den Zustand deiner Anwendung zu erhalten.

Die Analyse zeigt Ressourcen, Leistung und HTTP-Anfragen an, um dir einen Überblick über den Betrieb deiner Anwendung zu geben. Wenn deine Anwendung mehr Ressourcen benötigt, kannst du dies schnell in den Monitor-Boards auf der Registerkarte „Leistung“ feststellen und dann bei Bedarf die Leistung erhöhen oder verringern.

Die Laufzeitprotokolle helfen deinem Team auch, Probleme schnell zu beheben. Du kannst die Ursache des Problems in den Protokolleinträgen finden, was die Wartung deiner Anwendung sehr einfach macht.

Wie du häufige Probleme bei der Bereitstellung behebst

Bei der Bereitstellung deiner Laravel-Inertia-Anwendung auf Kinsta können einige Probleme auftreten. Wir besprechen, was diese Probleme sind – und wie du sie beheben kannst.

Erstens fügt Kinsta ein Sonderzeichen in das generierte Passwort ein, wenn du eine Datenbank erstellst. Das kann zu Rollback-Fehlern führen, wenn du die Datenbank mit deiner Laravel-Inertia-Anwendung verbindest. Um dieses Problem zu beheben, verwende dein eigenes Passwort, anstatt dich auf die generierten Passwörter zu verlassen.

Ein weiteres typisches Problem ist die fehlgeschlagene Auto-Commit-Verteilung. Die Bereitstellung kann fehlschlagen, wenn du den falschen Startbefehl angibst. Um dieses Problem zu beheben, überprüfe, ob deine Prozesse Tippfehler enthalten oder einem falschen Prozesstyp zugewiesen sind.

Zusammenfassung

Du weißt jetzt, wie du eine Laravel- und Inertia-Anwendung auf Kinsta bereitstellen kannst. Dazu musst du Buildpacks und Startbefehle festlegen, um die Anwendung zu konfigurieren, eine Datenbank erstellen und dann die Datenbank verbinden und migrieren, um Daten für die Anwendung bereitzustellen.

Durch die Kombination von Laravel und Inertial kannst du deine Anwendung mit der Datenbank verbinden, ohne manuell eine API einrichten zu müssen. Das spart Zeit und Energie, die du stattdessen für die Entwicklung spannender neuer Anwendungsfunktionen nutzen kannst.

Kinsta hostet deine Anwendung und ihre Datenbank. Du kannst auch die externen Verbindungen deiner Datenbank nutzen, um eine Verbindung zu einer Anwendung herzustellen, die außerhalb von Kinsta läuft. Mit den Rechenzentren von 37 kannst du deine Dienste näher an den Nutzerinnen und Nutzern deiner Anwendung anbieten und so Verzögerungen reduzieren und gleichzeitig eine zuverlässige, sichere Infrastruktur für die Bereitstellung bieten.

Nutze das, was du in diesem Tutorial gelernt hast, um deine dynamische Webanwendung – oder deine Datenbank – bei Kinsta bereitzustellen. Beginne deine Bereitstellungs-Reise mit Kinsta noch heute.