Heim > Artikel > Betrieb und Instandhaltung > Wie wird Supervisor installiert und konfiguriert?
Supervisor ermöglicht seinen Benutzern die Steuerung mehrerer Prozesse auf UNIX-ähnlichen Betriebssystemen. Die Blöcke lauten wie folgt:
Bequemlichkeit
Die Notwendigkeit, rc.d-Skripte für jede Prozessinstanz zu schreiben, ist oft unpraktisch. rc.dSkripte sind eine gängige Form der Prozessinitialisierung/Autostart/Verwaltung, aber das Schreiben und Warten kann mühsam sein. Darüber hinaus kann das Skript rc.d einen abgestürzten Prozess nicht automatisch neu starten, und viele Programme werden bei einem Absturz nicht ordnungsgemäß neu gestartet. Supervisord startet Prozesse als untergeordnete Prozesse und kann so konfiguriert werden, dass sie bei einem Absturz automatisch neu gestartet werden. Es kann auch automatisch so konfiguriert werden, dass der Prozess in einem eigenen Aufruf gestartet wird.
Genauigkeit
Es ist oft schwierig, den genauen Up/Down-Status von Prozessen unter UNIX zu ermitteln. Pidfiles lügen oft. Supervisord startet einen Prozess als untergeordneten Prozess, sodass er immer den tatsächlichen Betriebs-/Ablaufstatus seiner untergeordneten Prozesse kennt und diese Daten problemlos abfragen kann.
Prozessgruppen
Prozesse müssen oft in Gruppen gestartet und gestoppt werden, manchmal sogar in einer „Prioritätsreihenfolge“. Menschen haben oft Schwierigkeiten, dies zu erklären. Mit Supervisor können Sie Prozessen Prioritäten zuweisen und Benutzern ermöglichen, sie in einer vorab zugewiesenen Prioritätsreihenfolge zu starten, indem sie über den Supervisorctl-Client Befehle wie „alle starten“ und „alle neu starten“ ausgeben. Darüber hinaus können Prozesse in „Prozessgruppen“ gruppiert werden, einer Gruppe logisch verbundener Prozesse, die als Einheit gestoppt und gestartet werden können.
Einfach
Supervisor wird über eine einfache INI-Konfigurationsdatei konfiguriert, die leicht zu erlernen ist. Es bietet viele prozessbezogene Optionen, die Ihnen das Leben erleichtern, z. B. den Neustart fehlgeschlagener Prozesse und die automatische Protokollrotation.
Zentralisiert
Prozesse können einzeln oder in Gruppen gesteuert werden. Sie können Supervisor so konfigurieren, dass er lokale oder Remote-Befehlszeilen- und Webschnittstellen bereitstellt.
Effizient
Supervisor startet seinen untergeordneten Prozess über fork/exec, und der untergeordnete Prozess führt keine Hintergrundverarbeitung durch.
Hoch skalierbar
Supervisor verfügt über ein einfaches Ereignisbenachrichtigungsprotokoll, das von in jeder Sprache geschriebenen Programmen zur Verwaltung verwendet werden kann, sowie über eine XML-RPC-Schnittstelle. Es basiert außerdem auf Erweiterungspunkten, die von Python-Entwicklern genutzt werden können.
Kompatibel mit
Supervisor außer Windows. Es wird unter Linux, Mac OS X, Solaris und FreeBSD getestet und unterstützt. Es ist vollständig in Python geschrieben, sodass für die Installation kein C-Compiler erforderlich ist.
Stabilität
Supervisor gibt es schon seit vielen Jahren und wird auf vielen Servern eingesetzt.
Supervisord
supervisorctlSupervisord-Serverprogramm. Es ist dafür verantwortlich, Unterprogramme in seinem eigenen Aufruf zu starten, auf Client-Befehle zu reagieren, abgestürzte oder beendete Unterprozesse neu zu starten und die stdout und stderr Ausgabe sowie Generierung und Verarbeitung von „Ereignissen“, die dem Lebenszyklus des untergeordneten Prozesses entsprechen.
Konfigurationsdatei. Diese befindet sich normalerweise in/etc/supervisord.conf . Bei dieser Konfigurationsdatei handelt es sich um eine Konfigurationsdatei im „Windows-INI“-Stil. Es ist wichtig, diese Datei mit entsprechenden Dateisystemberechtigungen zu schützen, da sie möglicherweise unverschlüsselte Benutzernamen und Passwörter enthält.
WebserverDer Befehlszeilen-Client von Supervisor heißt supervisorctl. Es bietet eine Shell-ähnliche Schnittstelle zu den von supervisor bereitgestellten Funktionen. Von supervisorctl aus können Benutzer eine Verbindung zu verschiedenen Supervisords herstellen, untergeordnete Prozesse stoppen und starten und eine Liste der Prozesse abrufen, die auf supervisord ausgeführt werden.
Der Befehlszeilen-Client kommuniziert mit dem Server über UNIX-Domänen-Sockets oder Internet-Sockets (TCP). Der Server kann festlegen, dass der Benutzer des Clients Authentifizierungsdaten vorlegen muss, bevor er ihm erlaubt, Befehle auszuführen. Der Clientprozess verwendet normalerweise dieselbe Konfigurationsdatei wie der Server, aber jede Konfigurationsdatei mit einem Abschnitt[supervisorctl] funktioniert einwandfrei.
Auf den Webserver kann über den Browser zugegriffen werden, um den Prozessstatus anzuzeigen und zu steuern, der imXML-RPC-Schnittstelle[inet_http_server]-Block von konfiguriert ist Öffnen Sie die Konfigurationsdatei, greifen Sie auf die Server-URL zu (z. B. http://localhost:9001/), um den Prozessstatus über die Weboberfläche anzuzeigen und zu steuern.
Derselbe HTTP-Server, der die Web-Benutzeroberfläche bedient, stellt eine XML-RPC-Schnittstelle bereit, die zur Abfrage und Steuerung desSupervisors verwendet werden kann und sein Laufprogramm. Weitere Informationen finden Sie in der XML-RPC-API-Dokumentation.
Installations- und Nutzungsanweisungen klicken Sie hier wuguiyunwei.com
Das obige ist der detaillierte Inhalt vonWie wird Supervisor installiert und konfiguriert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!