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

Eine kurze Diskussion zur MySQL-Select-Optimierungslösung

Inhaltsverzeichnis Beispiele aus dem wirklichen L...

Installieren Sie MySQL 5.6 aus der Yum-Quelle im Centos7.4-System

Systemumgebung: centos7.4 1. Prüfen Sie, ob die D...

So ändern Sie den Inhalt eines vorhandenen Docker-Containers

1. Docker ps listet Container auf 2. Docker cp ko...

Tutorial zur Installation von htop unter CentOS 8

Wenn Sie Ihr System interaktiv überwachen möchten...

Webpack lädt CSS-Dateien und ihre Konfigurationsmethode

webpack lädt CSS-Dateien und deren Konfiguration ...

JavaScript verwendet Canvas zum Zeichnen von Koordinaten und Linien

In diesem Artikel wird der spezifische Code zur V...

JavaScript-Canvas zum Erzielen eines farbenfrohen Uhreffekts

Verwenden Sie Leinwand, um eine bunte Uhr zu schr...

Website User Experience Design (UE)

Ich habe gerade einen von JunChen verfassten Beitr...

Detaillierte Erklärung zur Verwendung von Bild-Tags in HTML

In HTML wird das <img>-Tag verwendet, um ei...

Detaillierte Erläuterung der Vue-Projektverpackung

Inhaltsverzeichnis 1. Zugehörige Konfiguration Fa...

Eine benutzerfreundliche Alternative in Linux (Befehl fd)

Der Befehl fd bietet eine einfache und unkomplizi...