Installation, Konfiguration und Verwendung des Process Daemon Supervisors unter Linux

Installation, Konfiguration und Verwendung des Process Daemon Supervisors unter Linux

Supervisor ist ein sehr gutes Daemon-Verwaltungstool. Es verfügt über eine Reihe leistungsstarker Funktionen wie automatischen Start, Protokollausgabe, automatisches Protokollschneiden usw. Im Folgenden finden Sie eine Aufzeichnung der Installation und Verwendung von Supervisor unter CentOS.

Installieren

# epel-Quelle yum installiere epel-release
# Supervisor installieren
yum install -y Supervisor
# Beim Booten automatisch starten systemctl enable supervisord
# Starten Sie den Supervisord-Dienst systemctl start supervisord 
Schlag

Konfigurationspfad

# Hauptkonfigurationsdatei /etc/supervisord.conf
# Führen Sie den Programmkonfigurationsordner /etc/supervisord.d/ aus.
Schlag

Einsatzkommando

systemctl stop supervisord
systemctl start supervisord
systemctl status supervisord
# Laden Sie die Konfigurationsdatei neu, ohne das laufende Programm zu beeinträchtigen systemctl reload supervisord
systemctl restart supervisord
Schlag

Test verwenden

Schreiben Sie ein Testskript test.php, um die Anzahl der Starts und Läufe aufzuzeichnen.

<?php
versuchen {
  $a = file_get_contents('./times.json');
} Fang (Ausnahme $e) {
  $a = 0;
}
$a++;
: file_put_contents('./times.json', $a);
echo date('Ymd H:i:s') . " Dies ist der {$a}te Start!!!!" . PHP_EOL;

$i = 1;
während (1) {
  echo date('Ymd H:i:s') . "{$i}te Ausgabe" . PHP_EOL;
  $i++;
  Schlaf (5);
}

PHP

Fügen Sie test.ini im Programmkonfigurationsordner /etc/supervisord.d hinzu:

[Programm:Test]
Verzeichnis=/home/wwwroot/test.cc
Befehl=php test.php
autostart=true
autorestart=true
stderr_logfile=/home/wwwroot/test.cc/log/error.log
stdout_logfile=/home/wwwroot/test.cc/log/out.log
Ini

Oben sind nur einige notwendige Grundkonfigurationen. Ausführlichere Konfigurationsreferenz:

;[Programm:derProgrammname]
;command=/bin/cat ; das Programm (relativ verwendet PATH, kann Argumente annehmen)
;Prozessname=%(Programmname)s ; Prozessname Ausdruck (Standard %(Programmname)s)
;numprocs=1 ; Anzahl der zu startenden Prozesskopien (def. 1)
;directory=/tmp ; Verzeichnis, in das cwd vor der Ausführung wechselt (def. kein cwd)
;umask=022 ; umask für Prozess (Standard: Keine)
;priority=999 ; die relative Startpriorität (Standard 999)
;autostart=true ; beim Start von supervisord starten (Standard: true)
;autorestart=true ; Neustart bei unerwartetem Beenden (Standard: true)
;startsecs=10 ; Anzahl der Sekunden, die das Programm laufen muss (def. 1)
;startretries=3 ; max. Anzahl fehlgeschlagener serieller Starts (Standard 3)
;exitcodes=0,2 ; „erwartete“ Exitcodes für den Prozess (Standard 0,2)
;Stoppsignal=QUIT ; Signal zum Beenden des Prozesses (Standard TERM)
;stopwaitsecs=10 ; maximale Anzahl an Sekunden, die auf vor SIGKILL gewartet werden soll (Standard 10)
;user=chrism ; setuid für dieses UNIX-Konto, um das Programm auszuführen
;redirect_stderr=true; proc stderr auf stdout umleiten (Standard: false)
;stdout_logfile=/a/Pfad ; stdout-Protokollpfad, NONE für keinen; Standardwert: AUTO
;stdout_logfile_maxbytes=1MB ; max. Anzahl Logdateibytes vor Rotation (Standard 50 MB)
;stdout_logfile_backups=10 ; Anzahl der Backups der stdout-Logdateien (Standard: 10)
;stdout_capture_maxbytes=1MB ; Anzahl der Bytes im „Capturemode“ (Standard 0)
;stdout_events_enabled=false ; Ereignisse beim Schreiben auf stdout ausgeben (Standard: „false“)
;stderr_logfile=/a/Pfad ; stderr-Protokollpfad, NONE für keinen; Standardwert: AUTO
;stderr_logfile_maxbytes=1MB ; max # Logdateibytes b4-Rotation (Standard 50MB)
;stderr_logfile_backups=10 ; Anzahl der Backups der stderr-Logdateien (Standard: 10)
;stderr_capture_maxbytes=1MB ; Anzahl der Bytes im „Capturemode“ (Standard 0)
;stderr_events_enabled=false ; Ereignisse bei Stderr-Schreibvorgängen ausgeben (Standard: „false“)
;Umgebung=A=1,B=2 ; Ergänzungen zur Prozessumgebung (def. keine Ergänzungen)
;serverurl=AUTO ; Server-URL-Berechnung überschreiben (Childutils)
Ini

Führen Sie den Befehl „Neustart“ oder „Konfiguration neu laden“ aus, um die neue Konfiguration zu laden:

systemctl restart supervisord
systemctl reload supervisord
Schlag

Sehen Sie sich den Vorgang an:

[root@localhost test.cc]# ps -aux | grep test.php
Wurzel 22277 0,0 0,6 269732 12124 ? S 17:38 0:00 php test.php
root 22335 0,0 0,0 112712 996 Punkte/0 S+ 17:41 0:00 grep --color=auto test.php
Schlag

Sie können den Server neu starten oder den Prozess kill -9 PID beenden. Sie werden feststellen, dass supervisor das Programm so schnell wie möglich neu startet und so den Zweck der Daemonisierung des Prozesses erreicht.

Bezüglich der Konfiguration schauen Sie sich die Referenz oben genauer an, sie deckt grundsätzlich die benötigten Funktionen, Mehrprozessbetrieb, Stammschnittgröße, Rückhaltemenge etc. ab. Sie ist leistungsstark und einfach zu bedienen.

Weitere erweiterte Funktionen finden Sie im Handbuch supervisor -Website: Portal

Zusammenfassen

Oben wird die vom Herausgeber vorgestellte Installation, Konfiguration und Verwendung des Process Daemon Supervisors in Linux beschrieben. Ich hoffe, es ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Tutorial zur Installation und Konfiguration des Linux-Prozessmanagement-Tools Supervisor
  • Installation und Verwendung des Linux-Betriebs- und Wartungstools Supervisor (Prozessmanagement-Tool)
  • Detaillierte Erläuterung der Installation und Konfiguration von Supervisor (Linux/Unix-Prozessmanagementtool)
  • PHP-Programmierer spielen Linux-Serien mit Supervisor zur Implementierung von Daemon-Prozessen
  • Erfahren Sie in 3 Minuten, wie Sie den Supervisor Watchdog verwenden

<<:  Angular-Leistungsoptimierung: Komponenten von Drittanbietern und Lazy-Loading-Technologie

>>:  MySQL fragt den aktuellsten Datensatz der SQL-Anweisung ab (Optimierung)

Artikel empfehlen

Detaillierte Erläuterung der MySQL-Lösung zur USE DB-Überlastung

Wenn wir auf einen Fehler stoßen, denken wir oft ...

Detaillierte Erklärung der mysql.user-Benutzertabelle in Mysql

MySQL ist eine von mehreren Benutzern verwaltete ...

So stellen Sie MySQL so ein, dass die Groß-/Kleinschreibung nicht beachtet wird

MySQL auf Groß-/Kleinschreibung eingestellt Windo...

Detaillierte Erklärung zur Verwendung von MySQL, wobei

Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...

Detaillierte Erklärung der Verwendung von Reduce Fold Unfold in JS

Inhaltsverzeichnis falten (reduzieren) Verwenden ...

Erstellen einer KVM-Virtualisierungsplattform auf CentOS7 (drei Möglichkeiten)

KVM steht für Kernel-based Virtual Machine und is...

18 Killer-JavaScript-Einzeiler

Vorwort JavaScript erfreut sich weiterhin wachsen...

Implementierung der virtuellen React-Liste

Inhaltsverzeichnis 1. Hintergrund 2. Was ist eine...

So stellen Sie ein Vue-Projekt unter Nginx bereit

Heute werde ich den Server nginx verwenden und mu...