Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie wird Supervisor installiert und konfiguriert?

Wie wird Supervisor installiert und konfiguriert?

零下一度
零下一度Original
2017-06-27 10:13:561490Durchsuche

Supervisor-Einführung

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.

Funktionen

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.



Supervisor-Komponente

Supervisord

Supervisord-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.

supervisorctl

Der 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.

Webserver

Auf den Webserver kann über den Browser zugegriffen werden, um den Prozessstatus anzuzeigen und zu steuern, der im

[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.

XML-RPC-Schnittstelle

Derselbe HTTP-Server, der die Web-Benutzeroberfläche bedient, stellt eine XML-RPC-Schnittstelle bereit, die zur Abfrage und Steuerung des

Supervisors 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn