Maison > Article > Opération et maintenance > Comment le superviseur est-il installé et configuré ?
Supervisor permet à ses utilisateurs de contrôler plusieurs processus sur des systèmes d'exploitation de type UNIX. Les blocs sont les suivants :
Commodité
La nécessité d'écrire des scripts rc.d pour chaque instance de processus est souvent gênante. rc.dLes scripts sont une forme courante d'initialisation/démarrage/gestion automatique de processus, mais ils peuvent être pénibles à écrire et à maintenir. De plus, le script rc.d ne peut pas redémarrer automatiquement un processus en panne, et de nombreux programmes ne redémarrent pas correctement lorsqu'ils se bloquent. Supervisord démarre les processus en tant que processus enfants et peut être configuré pour les redémarrer automatiquement en cas de crash. Il peut également être configuré automatiquement pour démarrer le processus dans son propre appel.
Précision
Il est souvent difficile d'obtenir un état précis de montée/d'arrêt des processus sous UNIX. Les fichiers Pid mentent souvent. Supervisord démarre un processus en tant que processus enfant, de sorte qu'il connaît toujours le véritable état actif/inactif de ses processus enfants et peut facilement interroger ces données.
Groupes de processus
Les processus doivent souvent être démarrés et arrêtés en groupes, parfois même dans un « ordre prioritaire ». Les gens ont souvent du mal à expliquer cela. Supervisor vous permet d'attribuer des priorités aux processus et permet aux utilisateurs de les lancer dans un ordre de priorité prédéfini en émettant des commandes via le client superviseurctl telles que « tout démarrer » et « tout redémarrer ». De plus, les processus peuvent être regroupés en « groupes de processus », un groupe de processus logiquement associés qui peuvent être arrêtés et démarrés comme une unité.
Simple
Le superviseur est configuré via un simple fichier de configuration de style INI, facile à apprendre. Il fournit de nombreuses options par processus pour vous faciliter la vie, telles que le redémarrage des processus ayant échoué et la rotation automatique des journaux.
Centralisés
Les processus peuvent être contrôlés individuellement ou en groupe. Vous pouvez configurer Supervisor pour fournir une ligne de commande locale ou distante et des interfaces Web.
Efficace
Le superviseur démarre son processus enfant via fork/exec, et le processus enfant n'effectue pas de traitement en arrière-plan.
Hautement évolutif
Supervisor dispose d'un protocole de notification d'événement simple qui peut être utilisé par des programmes écrits dans n'importe quel langage pour le gérer, ainsi que d'une interface XML-RPC. Il est également construit à l'aide de points d'extension qui peuvent être exploités par les développeurs Python.
Compatible avec
superviseur sauf Windows. Il est testé et pris en charge sous Linux, Mac OS X, Solaris et FreeBSD. Il est entièrement écrit en Python, donc un compilateur C n'est pas requis pour l'installation.
Stabilité
Supervisor existe depuis de nombreuses années et est utilisé sur de nombreux serveurs.
supervisord
programme serveur superviseur. Il est responsable du démarrage des sous-programmes dans son propre appel, de la réponse aux commandes client, du redémarrage des sous-processus en panne ou abandonnés, de la journalisation des stdout et stderr de ses sous-processus. Sortie, ainsi que génération et traitement des "événements" correspondant au cycle de vie du processus enfant.
Fichier de configuration. Celui-ci se trouve généralement dans /etc/supervisord.conf . Ce fichier de configuration est un fichier de configuration de style "Windows-INI". Il est important de protéger ce fichier avec les autorisations appropriées du système de fichiers, car il peut contenir des noms d'utilisateur et des mots de passe non cryptés.
supervisorctl
Le client de ligne de commande du superviseur s'appelle supervisorctl. Il fournit une interface de type shell pour les fonctionnalités fournies par le superviseur. Depuis supervisorctl, les utilisateurs peuvent se connecter à différents superviseurs, arrêter et démarrer des sous-processus et obtenir une liste des processus en cours d'exécution sur superviseur.
Le client de ligne de commande communique avec le serveur via des sockets de domaine UNIX ou des sockets Internet (TCP). Le serveur peut affirmer que l'utilisateur du client doit présenter des informations d'authentification avant de lui permettre d'exécuter des commandes. Le processus client utilise généralement le même fichier de configuration que le serveur, mais tout fichier de configuration contenant une section [supervisorctl] fonctionnera correctement.
Serveur Web
Le serveur Web est accessible via le navigateur pour afficher et contrôler l'état du processus, configuré dans le bloc [inet_http_server] de le fichier de configuration, accédez à l'URL du serveur (par exemple http://localhost:9001/) pour afficher et contrôler l'état du processus via l'interface Web.
Interface XML-RPC
Le même serveur HTTP qui sert l'interface utilisateur Web fournit une interface XML-RPC qui peut être utilisée pour interroger et contrôler le superviseur et son programme d'exécution. Consultez la documentation de l'API XML-RPC.
Instructions d'installation et d'utilisation cliquez ici wuguiyunwei.com
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!