Instalace a konfigurace správce na Ubuntu 16.04

Supervizor je systém klient/server používaný k řízení řady UNIXových procesů, konkrétněji procesů souvisejících s projektem nebo zákazníkem. Můžete například použít správce k vytvoření a sledování libovolného počtu pracovních front vaší webové aplikace.

Komponenty tohoto systému jsou:

  • supervizor: Serverová část systému.
  • Supervisorctl: Rozhraní příkazového řádku používané k interakci se serverem.
  • Webový server: Jednoduchý webový server a webové uživatelské rozhraní se základní funkčností ve srovnání s Supervisorctl .
  • Rozhraní XML-RPC: Stejný server HTTP, který používá webový klient, obsluhuje rozhraní XML-RPC, které lze použít k ovládání programů dohledu.

V tomto tutoriálu nainstalujeme nejaktuálnější verzi supervizora, předvedeme, jak vytvářet a spravovat programy prostřednictvím supervisorctl, a nakonfigurujeme webové rozhraní pro správu našich programů.

Instalace a základní konfigurace

Budeme instalovat supervizor prostřednictvím easy_install, což je funkce instalačních nástrojů pythonu.

Nejprve aktualizujte seznam místních balíčků a poté nainstalujte python setuptools.

sudo apt-get update && sudo apt-get install python-setuptools

Nyní můžeme nainstalovat supervizor.

sudo easy_install supervisor

Jakmile je instalace dokončena, musíme vygenerovat náš konfigurační soubor. Vytvořte složku s názvem supervisoruvnitř /etc.

sudo mkdir /etc/supervisor

A pak proveďte následující.

echo_supervisord_conf >  /etc/supervisor/supervisord.conf

Pokud nejste přihlášeni jako rootuživatel, může se zobrazit Permission deniedchyba (i s sudo). To je způsobeno přesměrováním. Chcete-li to překonat, přihlaste se jako root.

sudo su

Poté můžete příkaz spustit znovu.

echo_supervisord_conf > /etc/supervisor/supervisord.conf

Nyní můžete nechat rootuživatele s exitpříkazem. echo_supervisord_confPříkaz byl poskytnut naším instalace supervizora.

Základní konfigurace

Otevřete /etc/supervisor/supervisord.confsoubor a zkontrolujte jeho obsah. Všimněte si, že tento konfigurační soubor odpovídá INIsyntaxi a je rozdělen do sekcí (reprezentovaných závorkami jako v [section-name]).

Chcete-li přidat programy, které má spravovat supervizor, stačí vytvořit příslušné [program]sekce. Abychom se však vyhnuli problémům s hlavním konfiguračním souborem pokaždé, když potřebujeme přidat (nebo změnit) program, budeme používat [include]sekci. Najděte tuto sekci, odkomentujte ji a poté ji upravte, aby vypadala takto.

[include]
files=conf.d/*.conf

Nyní pro každý program, který chceme přidat, vytvoříme .inisoubor uvnitř /etc/supervisor/conf.d/adresáře. Pojďme vytvořit tuto složku.

sudo mkdir /etc/supervisor/conf.d

Spuštění supervizního serveru

Jak bylo uvedeno výše, supervizor se skládá ze serveru a klientů, kteří se k němu připojují. Abychom mohli spravovat a ovládat programy, musíme spustit server. Za tímto účelem zaregistrujeme server dohledu v systemd, aby bylo možné server spustit při startu systému.

Chcete-li tak učinit, vytvořte soubor s názvem supervisord.servicev /etc/systemd/systemadresáři.

sudo touch /etc/systemd/system/supervisord.service

Přidejte do souboru následující obsah.

[Unit]
Description=Supervisor daemon
Documentation=http://supervisord.org
After=network.target

[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
Alias=supervisord.service

Aktivujte službu dohledu.

sudo systemctl start supervisord.service

Dokud je soubor služby umístěn v /etc/systemd/systemadresáři, bude automaticky spuštěn při startu systému.

Můžete zkontrolovat stav služby.

systemctl status supervisord.service

Také si můžete prohlédnout protokoly.

sudo journalctl -u supervisord.service

Přidávání programů

Programy řízené supervizorem jsou dány různými [program]sekcemi v konfiguraci. Pro každý program, který chceme spravovat, vytvoříme samostatný konfigurační soubor informující o cestě ke spustitelnému příkazu, případných proměnných prostředí, jak postupovat v případě vypnutí.

Nejprve vytvoříme jednoduchý skript, který zaznamená časové razítko. Vytvořte soubor s názvem hello_supervisor.sh(kdekoli budete chtít, budeme odkazovat na úplnou cestu tohoto skriptu).

touch hello_supervisor.sh

Nyní do něj vložte následující obsah

#!/bin/bash
while true
do 
    # Echo current timestamp to stdout
    echo Hello Supervisor: `date`
    # Echo 'error!' to stderr
    echo An error ocurred at `date`! >&2
    sleep 1
done

Nyní jej udělejte spustitelným

chmod +x hello_supervisor.sh

V praxi je tento skript v podstatě k ničemu. Můžeme ji však použít k demonstraci síly supervizora. Vytvořte odpovídající konfigurační soubor spuštěním následujícího.

sudo touch /etc/supervisor/conf.d/hello_supervisor.conf

Nyní do tohoto souboru vložte následující obsah.

[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh
autostart=true
autorestart=true
stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log

Poznámka: Nezapomeňte nahradit USERsvým uživatelským jménem.

Tuto konfiguraci zkontrolujeme krok za krokem.

[program:hello_supervisor]
command=/home/USER/hello_supervisor.sh

Nejprve konfigurace začíná definováním programu s názvem hello_supervisor . Také informuje o úplné cestě spustitelného souboru, který má být spuštěn.

autostart=true

Tento řádek uvádí, že tento program by měl být automaticky spuštěn při spuštění supervizora.

autorestart=true

Pokud se program z jakéhokoli důvodu ukončí, tento řádek informuje nadřízeného, ​​aby proces automaticky restartoval.

stderr_logfile=/var/log/hello_supervisor.err.log
stdout_logfile=/var/log/hello_supervisor.out.log

Tyto řádky definují umístění souboru protokolu pro stderra stdout.

Správa programů

Nyní, když jsme nainstalovali a nakonfigurovali supervizora, jsme schopni řídit naše procesy.

Po přidání nového programu bychom měli spustit následující dva příkazy, abychom informovali server, aby znovu načetl konfigurační soubory a použil jakékoli změny.

sudo supervisorctl reread
sudo supervisorctl update

Nyní spusťte supervisorctlklienta.

sudo supervisorctl

Uvítá vás seznam zaregistrovaných procesů. Uvidíte proces vyvolaný hello_supervisorse RUNNINGstavem.

hello_supervisor                 RUNNING   pid 6853, uptime 0:22:30
supervisor>

Zadejte helppro seznam dostupných příkazů.

supervisor> help

default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail   
avail  fg        pid   remove  shutdown  status  update 
clear  maintail  quit  reread  signal    stop    version

Stručně řečeno, můžeme start, stopa restartprogramovat předáním názvu programu jako argumentu příslušnému příkazu.

supervisor> stop hello_supervisor 
hello_supervisor: stopped
supervisor> start hello_supervisor 
hello_supervisor: started
supervisor> restart hello_supervisor 
hello_supervisor: stopped
hello_supervisor: started
supervisor> 

tailPříkazem se můžeme také podívat na výstup programu .

supervisor> tail hello_supervisor 
Hello Supervisor: Mon Sep 25 19:27:29 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:30 UTC 2017
Hello Supervisor: Mon Sep 25 19:27:31 UTC 2017

Pro stderrvýstup můžete použít tailtaké.

supervisor> tail hello_supervisor stderr
An error ocurred at Mon Sep 25 19:31:12 UTC 2017!
An error ocurred at Mon Sep 25 19:31:13 UTC 2017!
An error ocurred at Mon Sep 25 19:31:14 UTC 2017!

Vyvoláním statuspříkazu můžete zobrazit stav všech registrovaných programů.

Jakmile skončíte, můžete skončit.

supervisor> quit

Klient webového serveru

Chcete-li povolit přístup k dozorovanému webovému serveru, otevřete konfigurační soubor dozoru a vyhledejte příslušnou [inet_http_server]sekci.

nano /etc/supervisor/supervisord.conf

Nyní aktualizujte konfiguraci této sekce pomocí následujícího.

[inet_http_server]
port=*:9001
username=your_username
password=your_password

Nahraďte your_usernamea your_passwordpožadovanými přihlašovacími údaji uložte své úpravy a službu supervize restartu.

sudo systemctl restart supervisord.service

Nezapomeňte povolit TCPpřístup k portu 9001na vašem firewallu a poté přístup http://{server-ip}:9001z vašeho prohlížeče. Na požádání uveďte své usernamea password. Nyní můžete ovládat své procesy z webu.

Závěr

Nainstalovali jsme nejaktuálnější verzi supervizoru, naučili jsme se, jak jej nakonfigurovat pro automatické spouštění systému pomocí systemd, a také jsme zkontrolovali základní použití supervisorctl. Pro pokročilejší konfiguraci a případy použití se můžete obrátit na oficiální supervizní dokumentaci .


Nainstalujte Plesk na CentOS 7

Nainstalujte Plesk na CentOS 7

Používáte jiný systém? Plesk je proprietární ovládací panel webového hostitele, který umožňuje uživatelům spravovat jejich osobní a/nebo klientské webové stránky, databáze

Nainstalujte Lets Encrypt SSL na aplikaci WordPress One-Click

Nainstalujte Lets Encrypt SSL na aplikaci WordPress One-Click

Úvod Lets Encrypt je služba certifikační autority, která nabízí bezplatné certifikáty TLS/SSL. Proces instalace zjednodušil Certbot,

Jak nastavit klasický server Tekkit na Ubuntu 16.10

Jak nastavit klasický server Tekkit na Ubuntu 16.10

Používáte jiný systém? Co je Tekkit Classic? Tekkit Classic je modpack pro hru, kterou každý zná a miluje; Minecraft. Obsahuje některé z ver

Vytvoření blogu Jekyll na Ubuntu 16.04

Vytvoření blogu Jekyll na Ubuntu 16.04

Používáte jiný systém? Jekyll je skvělá alternativa k WordPressu pro blogování nebo sdílení obsahu. Nevyžaduje žádné databáze a je velmi snadné i

Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Jak nastavit bezobslužné upgrady na Debian 9 (Stretch)

Používáte jiný systém? Pokud si zakoupíte server Debian, měli byste mít vždy nejnovější bezpečnostní záplaty a aktualizace, ať už spíte nebo ne

Jak nainstalovat a nakonfigurovat PHP 7.0 nebo PHP 7.1 na Ubuntu 16.04

Jak nainstalovat a nakonfigurovat PHP 7.0 nebo PHP 7.1 na Ubuntu 16.04

PHP a související balíčky jsou nejčastěji používané komponenty při nasazování webového serveru. V tomto článku se naučíme, jak nastavit PHP 7.0 nebo PHP 7.1 o

Jak nainstalovat Squid Proxy na CentOS

Jak nainstalovat Squid Proxy na CentOS

Squid je populární bezplatný linuxový program, který vám umožňuje vytvořit webový proxy pro předávání. V této příručce uvidíte, jak nainstalovat Squid na CentOS, aby vás otočil

Jak nainstalovat Lighttpd (LLMP Stack) na CentOS 6

Jak nainstalovat Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, jehož cílem je být mnohem méně náročný na zdroje. Je lehký, odtud jeho název, a jeho použití je docela jednoduché. Installin

Nastavení aplikace Yii na Ubuntu 14.04

Nastavení aplikace Yii na Ubuntu 14.04

Yii je PHP framework, který vám umožňuje vyvíjet aplikace rychleji a snadněji. Instalace Yii na Ubuntu je přímočará, jak se přesně dozvíte

Použití obrazovky na Ubuntu 14.04

Použití obrazovky na Ubuntu 14.04

Screen je aplikace, která umožňuje vícenásobné použití terminálových relací v rámci jednoho okna. To vám umožňuje simulovat více oken terminálu, kde to má

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Nastavte si svůj vlastní DNS server na Debian/Ubuntu

Tento tutoriál vysvětluje, jak nastavit DNS server pomocí Bind9 na Debianu nebo Ubuntu. V celém článku nahraďte odpovídajícím způsobem název-vaše-domény.com. Při čt

Konfigurace statické sítě a IPv6 na CentOS 7

Konfigurace statické sítě a IPv6 na CentOS 7

VULTR nedávno provedl změny na jejich konci a vše by nyní mělo fungovat dobře po vybalení s povoleným NetworkManagerem. Pokud si přejete deaktivovat

Úprava Icinga2 pro použití modelu Master/Client na CentOS 6 nebo CentOS 7

Úprava Icinga2 pro použití modelu Master/Client na CentOS 6 nebo CentOS 7

Icinga2 je výkonný monitorovací systém a při použití v modelu master-client může nahradit potřebu monitorovacích kontrol založených na NRPE. Hlavní klient

Nastavte Red5 Media Server na Ubuntu 16.04

Nastavte Red5 Media Server na Ubuntu 16.04

Používáte jiný systém? Red5 je open source mediální server implementovaný v Javě, který vám umožňuje spouštět aplikace Flash pro více uživatelů, jako je živé streamování

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

Zkompilujte a nainstalujte Nginx pomocí modulu PageSpeed ​​na Debian 8

V tomto článku uvidíme, jak zkompilovat a nainstalovat hlavní řadu Nginx z oficiálních zdrojů Nginx pomocí modulu PageSpeed, který vám umožňuje

Jak nainstalovat Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Jak nainstalovat Apache Cassandra 3.11.x na Ubuntu 16.04 LTS

Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Jak nainstalovat Apache Cassandra 3.11.x na CentOS 7

Používáte jiný systém? Apache Cassandra je bezplatný a otevřený systém pro správu databází NoSQL, který je navržen tak, aby poskytoval škálovatelnost, vysokou

Jak nainstalovat Vanilla Forum na Ubuntu 16.04

Jak nainstalovat Vanilla Forum na Ubuntu 16.04

Používáte jiný systém? Vanilla forum je open source aplikace fóra napsaná v PHP. Je plně přizpůsobitelný, snadno použitelný a podporuje externí

Jak nainstalovat Kanboard na Ubuntu 18.04 LTS

Jak nainstalovat Kanboard na Ubuntu 18.04 LTS

Používáte jiný systém? Úvod Kanboard je bezplatný a otevřený softwarový program pro správu projektů, který je navržen tak, aby usnadnil a vizualizoval

Jak nainstalovat Kanboard na Debian 9

Jak nainstalovat Kanboard na Debian 9

Používáte jiný systém? Úvod Kanboard je bezplatný a otevřený softwarový program pro správu projektů, který je navržen tak, aby usnadnil a vizualizoval

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více