Ausführen von Laravel Queue Worker als Systemd -Service ausführen

Ausführen von Laravel Queue Worker als Systemd -Service ausführen

Laravel ist ein beliebtes PHP -Webanwendungs ​​-Framework, das den Prozess des Erstellens moderner, skalierbarer Webanwendungen vereinfacht. Eine der Hauptmerkmale von Laravel ist die Fähigkeit, Hintergrundjobs über sein Warteschlangensystem zu bewältigen. Die Mitarbeiter von Laravel -Warteschlangen sind so konzipiert, dass sie im Hintergrund in die Warteschlangen in der Warteschlange verarbeiten können, was die Leistung und Reaktionsfähigkeit Ihrer Webanwendung erheblich verbessern kann.

Während Laravel eine einfache Befehlszeilenschnittstelle für die Verwaltung von Warteschlangenangestellten bietet, kann es schwierig sein, sie in Produktionsumgebungen kontinuierlich laufen zu lassen. In diesem Artikel werden wir untersuchen.

Voraussetzungen

Bevor wir beginnen, müssen Sie sicherstellen, dass Ihr Server die folgenden Anforderungen erfüllt:

  • Ein Linux-basierter Betriebssystem
  • PHP Version 7.2 oder höher
  • Das laravel -Framework wurde installiert und konfiguriert
  • Das Systemd -Init -System wurde installiert und konfiguriert

Erstellen eines Systemd -Dienstes

Der erste Schritt bei der Ausführung von Laravel -Warteschlangenarbeitern mit systemd besteht darin, eine Systemd -Dienstdatei zu erstellen. Diese Datei definiert das Verhalten des Warteschlangenarbeiters und wie sie gestoppt, gestoppt und neu gestartet werden sollte.

Erstellen Sie eine neue Datei in der "/Etc/systemd/system/" Verzeichnis mit a .Serviceerweiterung, wie z „Laravel-Arbeiter.Service".

sudo nano/etc/systemd/system/laravel-arbeiter.Service  

Fügen Sie der Datei den folgenden Inhalt hinzu:

[Einheit] Beschreibung = Laravel Queue Worker nach = Netzwerk.Ziel [Service] user = www-data Group = www-data restart = immer WorkingDirectory =/path/to/your/laravel execstart =/usr/bin/php Artisan-Warteschlange: Arbeit--sleep = 3 --tries = 3 [ Installation] wantby by = multi-user.Ziel
12345678910111213[Einheit] Beschreibung = Laravel Queue WorkerAfter = Netzwerk.Ziel [Service] user = www-datagroup = www-datarestart = immerworkingDirectory =/path/to/your/laravelexecstart =/usr/bin/php Artisan-Warteschlange: Arbeit-STE-SHEEP = 3-TRISS = 3 [Install] WantedBy = Multi-Benutzer.Ziel

Ersetzen "/Pfad/zu/dein/laravel" Mit Ihrem Laravel -Anwendungsverzeichnis. Stellen Sie auch Ihren Handwerksanfänger ein "ExecStart" Optionen.

Lassen Sie uns diese Datei und was jeder Abschnitt bedeutet:

  • Einheit: Dieser Abschnitt definiert die Serviceeinheit und enthält eine kurze Beschreibung dessen, was er tut. Der After -Parameter gibt an, dass der Dienst nach dem Erreichen des Netzwerkziels beginnen sollte.
  • Service: In diesem Abschnitt wird die Einzelheiten angegeben, wie der Dienst ausgeführt werden soll. Die Benutzer- und Gruppenparameter geben den Benutzer und die Gruppe an, unter denen der Dienst ausgeführt wird. Der "Neu starten" Der Parameter gibt an, dass der Dienst neu gestartet werden sollte, wenn er gestoppt oder abstürzt. Der "ExecStart" Parameter gibt den Befehl an, der ausgeführt werden sollte, um den Warteschlangenarbeiter zu starten. In diesem Fall verwenden wir den PHP -Binary, um die Warteschlange: Arbeitsbefehl mit dem auszuführen --Schlaf = 3 Und --Versuche = 3 Optionen. Diese Optionen geben an, dass der Warteschlangenarbeiter zwischen jedem Job 3 Sekunden lang schlafen sollte und fehlgeschlagene Jobs bis zu dreimal wiederholen sollte, bevor sie als fehlgeschlagen markiert werden.
  • Installieren: In diesem Abschnitt wird die Ausführungsstufen angegeben, mit denen der Dienst aktiviert werden soll. Der Parameter von shodenBy gibt an, dass der Dienst im Multi-User-Ziel aktiviert werden sollte, was das Standardziel für die meisten Linux-Verteilungen ist.

Speichern Sie die Datei und beenden Sie den Editor.

Aktivieren des Dienstes

Führen Sie zunächst den folgenden Befehl aus, um den Dämon -Dämon -Dienst des Systems neu zu laden. Sie müssen diesen Befehl jedes Mal ausführen. Sie nehmen Änderungen in der Servicedatei vor.

sudo systemctl dämon-reload  

Um sicherzustellen, dass der Laravel -Warteschlangenarbeiter beim Aufstieg des Servers automatisch startet, können wir den Dienst mit dem folgenden Befehl aktivieren:

sudo systemctl ermöglicht Laravel-Arbeiter  

Dieser Befehl erstellt im entsprechenden Verzeichnis einen Symlink, um den Dienst automatisch im BOOT zu starten.

Den Service starten

Nachdem wir die Systemd -Dienstdatei erstellt und aktiviert haben, können wir den Dienst mit dem folgenden Befehl starten:

sudo systemctl starten laravel-arbeiter  

Dieser Befehl startet den Laravel -Warteschlangenarbeiter als Systemd -Service. Sie können überprüfen, ob der Dienst korrekt ausgeführt wird, indem Sie seinen Status überprüfen:

sudo systemctl Status Laravel-Arbeiter  

In diesem Befehl werden Informationen über den Dienst angezeigt, einschließlich des aktuellen Status und der aktuellen Protokolleinträge.

Kontrolle des Dienstes

Sobald der Dienst ausgeführt wird, können Sie ihn mithilfe der Standard -SYSTEMD -Befehle steuern. Hier sind einige gängige Befehle, mit denen Sie den Laravel Queue Worker -Service steuern können:

  • sudo systemctl stop laravel-arbeiter: Dieser Befehl stoppt den Dienst.
  • sudo systemctl starten Sie Laravel-Arbeiter neu: Dieser Befehl startet den Dienst neu.
  • sudo systemCtl deaktivieren Laravel-Arbeiter: Dieser Befehl deaktiviert den Dienst daran, automatisch mit dem Start zu beginnen.
  • sudo systemctl Status Laravel-Arbeiter: In diesem Befehl wird der Status des Dienstes angezeigt, einschließlich der Frage, ob er ausgeführt oder gestoppt wird, und jüngere Protokolleinträge.

Abschluss

Das Ausführen von Laravel -Warteschlangenarbeitern mit Systemd ist eine großartige Möglichkeit, um sicherzustellen, dass Ihre Hintergrundjobs in Produktionsumgebungen immer reibungslos und effizient laufen. Durch das Erstellen einer Systemd -Dienstdatei und das Aktivieren des BOOT können Sie den Prozess des Startens und Stoppens des Warteschlangenarbeiters automatisieren, um das Verwalten und die Steuerung einfach zu verwalten und zu steuern.

In diesem Artikel haben wir die grundlegenden Schritte zum Erstellen einer Systemd -Dienstdatei für den Laravel -Warteschlangenarbeiter, den Starten des Dienstes, das Aktivieren des BOOT und die Steuerung von Systemd -Befehlen behandelt. Mit diesem Wissen können Sie Ihre Laravel -Anwendungen mit Leichtigkeit sicher verwalten und skalieren.