Ubuntu · Laravel Bereitstellung

So stellen Sie Laravel auf einem bereitUbuntu VPS

Von · Letzte Aktualisierung: · Kostenlose Lektüre, keine Paywall

Ein VPS für 5–7 $/Monat ist immer noch die günstigste und flexibelste Möglichkeit, Laravel in der Produktion auszuführen – wenn Sie es richtig einrichten. Dieser Leitfaden führt durch den gesamten Produktions-Stack, jeden manuellen Schritt, die Ein-Befehl-Alternative und die Betriebsgewohnheiten, die einen Server über Jahre hinweg funktionsfähig halten.

In diesem Ratgeber
  1. Warum ein VPS (und wann nicht)
  2. Der Produktionsstapel, erklärt
  3. Die manuelle Einrichtung, Schritt für Schritt
  4. Die Ein-Befehl-Alternative
  5. Wichtige Vorgänge nach der Bereitstellung
  6. Häufige Fehler, die es zu vermeiden gilt
  7. FAQ

Warum ein VPS (und wann nicht)

Beim Shared Hosting können Warteschlangenarbeiter, WebSockets oder Laravel Octane sowie verwaltete PaaS-Plattformen nicht ordnungsgemäß ausgeführt werden Kosten für Komfort mit nutzungsbasierter Preisgestaltung. Ein VPS von Hetzner, DigitalOcean, Vultr oder Linode bietet Ihnen Root-Zugriff, vorhersehbare Abrechnung und genügend Spielraum, um mehrere Laravel zu hosten Apps auf einem Computer.

Der Produktionsstapel, erklärt

Jeder Produktions-Laravel-Server konvergiert auf denselben Komponenten. Verstehen Sie vorher, was jedes Stück bewirkt Sie automatisieren etwas davon:

KomponenteRolleNotizen
NginxWebserver / Reverse-ProxyStellt statische Assets bereit und leitet PHP-Anfragen weiter
PHP-FPM oder OctanePHP LaufzeitFPM ist der zuverlässige Standard; Octane (FrankenPHP) sorgt dafür, dass die App für einen hohen Durchsatz gebootet bleibt
MariaDB / PostgreSQLDatenbankEntweder funktioniert mit Laravel; Wählen Sie pro App
Valkey (Redis-kompatibel)Cache, Sitzungen, WarteschlangenOpen-source Redis fork; Kommen Sie vorbei für Laravel
SupervisorProzessmanagerHält queue:work und Horizon am Leben
CronPlanerEin Eintrag: artisan schedule:run jede Minute
UFW + Fail2banFirewall / Brute-Force-SchutzStandardmäßig verweigern, wiederholte SSH-Fehler verbieten
CertbotTLS ZertifikateKostenlose Let's Encrypt-Zertifikate mit automatischer Verlängerung
Releases im Deployer-StilBereitstellung ohne AusfallzeitenReleases-Verzeichnis + Symlink-Tausch

Die manuelle Einrichtung, Schritt für Schritt

Dies ist die ehrliche, ungekürzte Checkliste. Planen Sie beim ersten Mal zwei bis vier Stunden ein und denken Sie daran, dass Sie alle besitzen werden Eine dieser Möglichkeiten auch beim Upgrade.

  1. Erstellen Sie einen sudo-Benutzer und sperren Sie SSH. adduser deploy, installieren Sie Ihre öffentliche Schlüssel, dann deaktivieren Sie die Root-Anmeldung und die Passwortauthentifizierung /etc/ssh/sshd_config.
  2. Aktivieren Sie die Firewall. ufw allow OpenSSH http https dann ufw enable. Installieren Sie Fail2ban für SSH-Brute-Force-Schutz.
  3. Installieren Sie Nginx. apt install nginx.
  4. Installieren Sie PHP. Fügen Sie ein verwaltetes PHP-Repository hinzu und installieren Sie es php8.x-fpm mit den Erweiterungen Laravel benötigt: mbstring, xml, curl, zip, intl, mysql (oder pgsql), redis, gd, opcache.
  5. Optimieren Sie PHP für die Produktion. Opcache aktivieren, vernünftig einstellen memory_limit und upload_max_filesize, dreh dich um expose_php aus.
  6. Installieren Sie Composer weltweit.
  7. Installieren Sie MariaDB, lauf mariadb-secure-installation, eine Datenbank erstellen und ein dedizierter Benutzer pro App – root niemals wiederverwenden.
  8. Installieren Sie Valkey (oder Redis) für Cache, Sitzungen und Warteschlangen.
  9. Schreiben Sie den Serverblock Nginx. Dokumentstammpunkte auf current/public, try_files fällt zurück auf index.php, FastCGI wird an den PHP-FPM-Socket der App übergeben.
  10. Versenden Sie den Code. Klonen Sie in ein releases/ Verzeichnis, composer install --no-dev --optimize-autoloader, kopieren .env, lauf php artisan key:generate, storage:link, und korrigieren Sie die Berechtigungen nur so storage/ und bootstrap/cache/ sind beschreibbar.
  11. Migrieren und zwischenspeichern. php artisan migrate --force dann config:cache, route:cache, view:cache.
  12. Konfigurieren Sie Supervisor laufen php artisan queue:work (oder Horizon) und Starten Sie es bei jeder Bereitstellung neu.
  13. Fügen Sie den Planer cron hinzu: * * * * * php artisan schedule:run.
  14. Stellen Sie TLS Zertifikate aus mit Certbot und erzwinge HTTPS.

Multiplizieren Sie nun mit jeder App, die Sie hosten, und noch einmal mit jedem Server – und sorgen Sie dafür, dass PHP, Nginx und das Betriebssystem gepatcht bleiben für immer. Es ist alles machbar; Es ist einfach undifferenzierte Arbeit.

Die Ein-Befehl-Alternative

Alles im vorherigen Abschnitt ist genau das Richtige Cipi automatisiert. Auf einem frisch Ubuntu 24.04/26.04 VPS:

wget -O - https://cipi.sh/setup.sh | bash

In etwa zehn Minuten erhalten Sie den vollständigen Stack – Nginx, PHP, MariaDB, Valkey, Supervisor, UFW, Fail2ban, Certbot, Deployer – plus Härtung, die Sie sonst manuell durchführen würden: Root-Anmeldung deaktiviert, SSH nur mit Schlüssel für den Admin-Benutzer und ein zufälliges Root-Passwort, das in gespeichert ist /etc/cipi/server.json. Dann ist jede App eine mehr Befehl:

cipi App erstellen # add --octane for Laravel Octane on FrankenPHP

Das sieht vor Isolierter Systembenutzer, PHP-FPM-Pool, Nginx Vhost und Datenbank pro App, verbindet GitHub oder GitLab mit Bereitstellungsschlüsseln und Webhooks für Git-Bereitstellungen ohne Ausfallzeiten und verbindet Warteschlangen Arbeiter und der Planer. SSL ist cipi ssl install; PostgreSQL ist cipi db install pgsql. Siehe die den Anfang machen Führer für die vollständige Komplettlösung oder die Vergleichszentrum wenn Sie vergleichen es mit Forge, Ploi und Freunden.

Wichtige Vorgänge nach der Bereitstellung

Es ist schon die halbe Miete, zu erreichen, dass es funktioniert. Es sind diese Gewohnheiten, die einen Server, der jahrelang hält, von einem anderen unterscheiden das überrascht dich:

Häufige Fehler, die es zu vermeiden gilt

Setzen Sie dies mit Cipi in die Praxis um

Cipi ist die kostenlose open-source Bereitstellung CLI, auf die in diesem Handbuch verwiesen wird: Ein Befehl verwandelt einen neuen Ubuntu VPS in einen gehärteten Produktionsserver für Laravel – Nginx, PHP-FPM oder Octane, MariaDB oder PostgreSQL, Warteschlangen, Scheduler, SSL und Git-Bereitstellungen ohne Ausfallzeiten enthalten.

wget -O - https://cipi.sh/setup.sh | bash

Häufig gestellte Fragen

Was sind die Mindestserveranforderungen für Laravel in der Produktion?

Eine einzelne vCPU mit 2 GB RAM führt bequem eine typische Laravel-App mit Datenbank, Cache und einem Warteschlangenarbeiter aus; Swap unter 4 GB hinzufügen. Octane, Horizon und umfangreiche Build-Schritte profitieren von 4 GB. Cipi installiert seinen vollständigen Stack auf jedem neuen Ubuntu 24.04/26.04 VPS.

Kann ich mehrere Laravel-Apps auf einem VPS hosten?

Ja, und es ist normalerweise die kostengünstigste Einrichtung. Der Schlüssel liegt in der Isolation: Jede App sollte über einen eigenen Systembenutzer, einen eigenen PHP-FPM-Pool und eigene Datenbankanmeldeinformationen verfügen, damit eine kompromittierte oder sich schlecht verhaltende App die anderen nicht berühren kann. Cipi stellt genau diese Isolation automatisch mit cipi app create bereit.

Sollte ich PHP-FPM oder Laravel Octane verwenden?

PHP-FPM ist die langweilige, zuverlässige Standardeinstellung und für die meisten Apps richtig. Octane sorgt dafür, dass das Framework zwischen Anfragen gebootet wird, und glänzt bei APIs mit hohem Datenverkehr und latenzempfindlichen Endpunkten. Mit Cipi können Sie beide auf demselben Server ausführen und Octane Apps mit cipi app create --octane erstellen.

Wie halte ich PHP auf Ubuntu auf dem Laufenden?

Verfolgen Sie ein gepflegtes PHP-Repository und wenden Sie Sicherheitspatches umgehend an, anstatt auf Distributions-Upgrades zu warten. Cipi verwaltet PHP Sicherheitspatches selbst mit einer wöchentlichen Überprüfung (cipi php Upgrade), sodass Server nicht stillschweigend ins Hintertreffen geraten.

Benötige ich weiterhin Laravel Forge, wenn ich mein eigenes VPS verwalte?

Nein. Forge ist ein kostenpflichtiges SaaS, das denselben Stack automatisiert, den dieser Leitfaden beschreibt. Wenn Sie diese Automatisierung ohne das Abonnement oder die Abhängigkeit von Drittanbietern wünschen, deckt Cipi den gleichen Workflow kostenlos ab und open source – sehen Sie sich den detaillierten Vergleich von Cipi vs. Forge an.

Lesen Sie weiter