Mein VariomediaHier können Sie sich im Kundenmenü einloggen. |
Weitere Logins |
In unseren Pro- bzw. Reseller.Dedicated Hosting-Paketen können Sie auf Wunsch eigene Dienste mittels Systemd auf Ihrem Webserver einrichten. Bitte wenden Sie sich dazu an unsere Kundenbetreuung und teilen den Benutzernamen mit, für den Systemd eingerichtet werden soll. Nach der Freischaltung der Systemd Benutzerdienste können Sie dann Dienste für Laravel Queue Worker einrichten.
Die Konfigurationsdateien für Ihre Systemd-Benutzerdienste werden im Unterverzeichnis .config/systemd/user in ihrem Benutzerverzeichnis hinterlegt, dass Sie per SSH über folgenden Befehl anlegen können:
mkdir -p ~/.config/systemd/user
Die Konfigurationsdateien in diesem Verzeichnis haben die Dateiendung .service, davor können Sie einen beliebigen Namen vergeben.
Damit Systemd Ihre Benutzerdienste erkennt, muss weiterhin noch das Runtime-Verzeichnis über die Umgebungsvariable XDG_RUNTIME_DIR angegeben werden:
export XDG_RUNTIME_DIR=/run/user/$(id -u)
Es empfiehlt sich, diese Zeile am Ende der .bashrc-Konfigurationsdatei in Ihrem Benutzerverzeicihnis hinzuzufügen, damit die Umgebungsvariable beim SSH-Login automatisch gesetzt wird.
Der Aufbau einer einfachen Systemd Konfigurationsdatei lässt sich an folgendem Beispiel nachvollziehen:
[Unit]
Description=Laravel Queue Worker
[Service]
Type=simple
Restart=on-failure
ExecStart=/usr/bin/php80 /homepages/u12345/artisan queue:work --daemon --env=production
[Install]
WantedBy=default.target
Unter Description können Sie eine Beschreibung für Ihren Dienst eingeben, unter ExecStart wird der auszuführende Befehl mit allen Optionen angegeben, die anderen Optionen müssen im Regelfall nicht angepasst werden.
Um einen Dienst zu starten nutzen Sie folgenden Befehl (ersetzen Sie dabei dienstname.service durch den Namen Ihres Dienstes):
systemctl --user start dienstname.service
Um einen Dienst zu beenden nutzen Sie folgenden Befehl:
systemctl --user stop dienstname.service
Um den Status eines Dienstes anzuzeigen nutzen Sie folgenden Befehl:
systemctl --user status dienstname.service
Um die Ausgaben (z.B. Fehlermeldungen) eines Dienstes anzuzeigen nutzen Sie folgenden Befehl:
journalctl --user-unit dienstname.service
Um einen Dienst automatisch zu Starten nutzen Sie folgenden Befehl:
systemctl --user enable dienstname.service
Um den automatischen Start eines Dienstes zu deaktivieren nutzen Sie folgenden Befehl:
systemctl --user disable dienstname.service
Um die Konfigurationsdateien bei Änderungen neu zu laden nutzen Sie folgenden Befehl:
systemctl --user daemon-reload
Sie können auch mehrere Instanzen eines Queue Worker Dienstes starten. Dazu muss der Dateiname des Dienstes mit @.service enden.
Sie können dann z.B. 2 Queue Worker über folgende Befehle starten:
systemctl --user start dienstname@1.service
systemctl --user start dienstname@2.service
Zur Vereinfachung können Sie die Zahl der Worker auch in geschweiften Klammern angeben, z.B. für 4 Worker Dienste:
systemctl --user start dienstname@{1..4}.service
So können Sie dann auch den den automatischen Start von 4 Worker Diensten aktivieren:
systemctl --user enable dienstname@{1..4}.service