Fragen und Antworten
Wie kann ich eigene Dienste mittels Supervisor einrichten?
Falls Sie einen dedizierten Webserver (Reseller Dedicated oder Pro-Paket ab Pro.B) nutzen, können Sie auf dem Webserver auf Wunsch eigene Dienste mittels Supervisor einrichten. Supervisor ist ein Prozess-Manager, der dafür sorgt, dass Programme beim Systemstart aufgerufen und bei eventuellen Abstürzen automatisch wieder gestartet werden.
Zur Einrichtung von Supervisor wenden Sie sich bitte an unsere Kundenbetreuung.
Supervisor Konfigurationsdateien
Zur Nutzung von Supervisor wird in Ihrem Webserver-Benutzerverzeichnis ein Unterverzeichnis mit Namen supervisor angelegt, in dem Steuer-, Konfigurations- und Log-Dateien abgelegt werden. Für eigene Konfigurationsdateien wir das Unterverzeichnis supervisor/conf.d genutzt. Sie können dort beliebige Konfigurationsdateien mit der Endung .conf ablegen. Zum Aufbau der Supervisor-Konfigurationsdateien beachten Sie bitte das Beispiel sowie den Link am Ende des Artikels.
Wichtige Supervisor Befehle
Bei Änderungen an Konfigurationsdateien müssen diese über einen Befehl neu eingelesen und die betroffenen Dienste ggf. neu gestartet werden.
Konfigurationsdateien neu einlesen:
supervisorctl -s unix:///homepages/u12345/supervisor/supervisord.sock reread
Dienste mit geänderten Konfigurationsdateien neu starten:
supervisorctl -s unix:///homepages/u12345/supervisor/supervisord.sock update
Ausgewählten Dienst starten:
supervisorctl -s unix:///homepages/u12345/supervisor/supervisord.sock start dienstname
Ausgewählten Dienst neu starten:
supervisorctl -s unix:///homepages/u12345/supervisor/supervisord.sock restart dienstname
Alle Dienste neu starten:
supervisorctl -s unix:///homepages/u12345/supervisor/supervisord.sock restart all
Beispiel
Im Folgenden finden Sie eine Beispielkonfiguration für einen Laravel Queue Worker mit 4 Prozessen:
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/vrmd/webserver/php84/bin/php-cli /homepages/u12345/laravel-app/artisan queue:work sqs --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
numprocs=4
redirect_stderr=true
stdout_logfile=/homepages/u12345/laravel-app/logs/worker.log