A Supervisor telepítése és konfigurálása az Ubuntu 16.04 rendszeren

A Supervisor egy kliens/szerver rendszer, amely számos UNIX-folyamat, pontosabban egy projekthez vagy ügyfélhez kapcsolódó folyamatok vezérlésére szolgál. Például használhatja a supervisort a webalkalmazás tetszőleges számú dolgozói sorának létrehozásához és figyeléséhez.

Ennek a rendszernek az összetevői a következők:

  • supervisor: A rendszer szerver része.
  • supervisorctl: A kiszolgálóval való interakcióhoz használt parancssori felület.
  • Webszerver: Egyszerű webszerver és webes felhasználói felület alapvető funkciókkal a supervisorctl- hez képest .
  • XML-RPC interfész: Ugyanaz a HTTP-kiszolgáló, amelyet a webkliens is használ, egy XML-RPC interfészt szolgál ki, amely a felügyeleti programok vezérlésére használható.

Ebben az oktatóanyagban telepítjük a supervisor legfrissebb verzióját, bemutatjuk, hogyan hozhatunk létre és kezelhetünk programokat a segítségével supervisorctl, és beállítunk egy webes felületet programjaink kezelésére.

Telepítés és alapkonfiguráció

A supervisort easy_installa python beállítási eszközeinek egyik funkcióján keresztül fogjuk telepíteni .

Először frissítse a helyi csomaglistát, majd telepítse a pythont setuptools.

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

Most telepíthetjük a supervisort.

sudo easy_install supervisor

A telepítés befejezése után létre kell hoznunk a konfigurációs fájlunkat. Hozzon létre egy mappát a supervisorbelsejében /etc.

sudo mkdir /etc/supervisor

És akkor hajtsa végre a következőt.

echo_supervisord_conf >  /etc/supervisor/supervisord.conf

Ha nincs bejelentkezve a rootfelhasználóval, Permission deniedhibaüzenetet kaphat (még akkor is, ha sudo). Ez az átirányításnak köszönhető. Ennek kiküszöböléséhez jelentkezzen be root felhasználóként.

sudo su

Ezután újra futtathatja a parancsot.

echo_supervisord_conf > /etc/supervisor/supervisord.conf

Most már elhagyhatja a rootfelhasználót a exitparanccsal. A echo_supervisord_confparancsot a telepítésvezetőnk adta.

Alapkonfiguráció

Nyissa meg a /etc/supervisor/supervisord.conffájlt, és ellenőrizze a tartalmát. Megjegyzendő, hogy ez a konfigurációs fájl a INIszintaxist követi , és szakaszokra van felosztva (ezeket zárójelek jelölik, mint a [section-name]).

A felügyelő által kezelt programok hozzáadásához csak létre kell hoznunk a megfelelő [program]szakaszokat. Azonban, hogy elkerüljük, hogy a fő konfigurációs fájllal minden alkalommal vacakoljunk, amikor egy programot kell hozzáadnunk (vagy módosítanunk), a [include]részt fogjuk használni . Keresse meg ezt a részt, törölje a megjegyzéseket, majd szerkessze úgy, hogy a következőképpen nézzen ki.

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

Most minden hozzáadni kívánt programhoz létrehozunk egy .inifájlt a /etc/supervisor/conf.d/könyvtárban. Hozzuk létre ezt a mappát.

sudo mkdir /etc/supervisor/conf.d

A felügyelő szerver indítása

Mint korábban említettük, a supervisor egy szerverből és a hozzá csatlakozó ügyfelekből áll. A programok kezeléséhez és vezérléséhez el kell indítanunk a szervert. Ehhez regisztráljuk a felügyelő szervert a systemd-ban, hogy a szerver elindulhasson a rendszer indításakor.

Ehhez hozzon létre egy nevű fájlt supervisord.servicea /etc/systemd/systemkönyvtárban.

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

Adja hozzá a következő tartalmat a fájlhoz.

[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

Aktiválja a felügyelő szolgáltatást.

sudo systemctl start supervisord.service

Mindaddig, amíg a szolgáltatásfájl a /etc/systemd/systemkönyvtárban található, a rendszer indításakor automatikusan elindul.

Ellenőrizheti a szolgáltatás állapotát.

systemctl status supervisord.service

Ezenkívül megtekintheti a naplókat.

sudo journalctl -u supervisord.service

Programok hozzáadása

A supervisor által vezérelt programokat [program]a konfiguráció különböző szekciói adják meg . Minden kezelni kívánt programhoz külön konfigurációs fájlt készítünk, amely tájékoztatja a parancs végrehajtási útvonalát, az esetleges környezeti változókat, leállás esetén a végrehajtás módját.

Először is hozzunk létre egy egyszerű szkriptet, amely naplózza az időbélyeget. Hozzon létre egy fájlt hello_supervisor.sh(bárhol, ahol akarja, hivatkozni fogunk a szkript teljes elérési útjára).

touch hello_supervisor.sh

Most tegye bele a következő tartalmat

#!/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

Most tegye végrehajthatóvá

chmod +x hello_supervisor.sh

Gyakorlatilag ez a szkript eléggé haszontalan. Használhatjuk azonban a felügyelői hatalom bemutatására. Hozza létre a megfelelő konfigurációs fájlt a következő futtatásával.

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

Most tegye a következő tartalmat ebbe a fájlba.

[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

Megjegyzés: Ügyeljen arra, hogy cserélje USERki a felhasználónevét.

Ezt a konfigurációt lépésről lépésre áttekintjük.

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

Először a konfiguráció a hello_supervisor nevű program meghatározásával kezdődik . Ezenkívül tájékoztatja a futtatandó végrehajtható fájl teljes elérési útját.

autostart=true

Ez a sor azt írja ki, hogy ennek a programnak automatikusan el kell indulnia a felügyelő indításakor.

autorestart=true

Ha a program bármilyen okból kilép, ez a sor tájékoztatja a felügyelőt, hogy automatikusan indítsa újra a folyamatot.

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

Ezek a sorok határozzák meg a stderrés a naplófájl helyét stdout.

Programok kezelése

Most, hogy telepítettük és konfiguráltuk a supervisort, képesek vagyunk kezelni folyamatainkat.

Új program hozzáadása után futtassuk le a következő két parancsot, hogy tájékoztassuk a szervert a konfigurációs fájlok újraolvasásáról és az esetleges változtatások alkalmazásáról.

sudo supervisorctl reread
sudo supervisorctl update

Most hajtsa végre a supervisorctlklienst.

sudo supervisorctl

A regisztrált folyamatok listája fogadja Önt. Látni fog egy folyamatot hello_supervisoregy RUNNINGállapottal.

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

Írja be helpaz elérhető parancsok listájához.

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

Dióhéjban: start, stopés restartprogramozhatunk úgy, hogy a program nevét argumentumként adjuk át a megfelelő parancsnak.

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> 

A tailparanccsal a program kimenetét is megnézhetjük .

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

A stderrkimenethez is használhatja tail.

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!

A statusparancs meghívásával megtekintheti az összes regisztrált program állapotát.

Ha végzett, kiléphet.

supervisor> quit

A webszerver kliens

A felügyelő webszerverhez való hozzáférés engedélyezéséhez nyissa meg a felügyeleti konfigurációs fájlt, és keresse meg a [inet_http_server]részt.

nano /etc/supervisor/supervisord.conf

Most frissítse a szakasz konfigurációját a következőkkel.

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

Cserélje ki your_usernameés adja your_passwordmeg a kívánt hitelesítő adatokat, mentse el a módosításokat és indítsa újra a felügyelő szolgáltatást.

sudo systemctl restart supervisord.service

Ne felejtse el engedélyezni a TCPhozzáférést 9001a tűzfal portjához , majd a hozzáférést http://{server-ip}:9001a böngészőből. Kérésre adja meg az Ön usernameés password. Most már az internetről irányíthatja folyamatait.

Következtetés

Telepítettük a supervisord legfrissebb verzióját, megtanultuk, hogyan kell konfigurálni a rendszer automatikus indításához a systemd segítségével, és áttekintettük a supervisorctl. A fejlettebb konfigurációs és használati esetekért tekintse meg a hivatalos felügyeleti dokumentációt .


Telepítse a Plesket a CentOS 7 rendszeren

Telepítse a Plesket a CentOS 7 rendszeren

Más rendszert használ? A Plesk egy szabadalmaztatott webtárhely-vezérlőpult, amely lehetővé teszi a felhasználók számára, hogy adminisztrálják személyes és/vagy ügyfeleik webhelyeit, adatbázisait

A Cacti beállítása a Debian Jessie-n

A Cacti beállítása a Debian Jessie-n

Bevezetés A Cacti egy nyílt forráskódú megfigyelő és grafikus eszköz, amely teljes mértékben az RRD adatokon alapul. A Cactuson keresztül szinte bármilyen típusú eszközt felügyelhet

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Telepítse a Lets Encrypt SSL-t az egykattintásos WordPress alkalmazásban

Bevezetés A Lets Encrypt egy hitelesítésszolgáltató szolgáltatás, amely ingyenes TLS/SSL-tanúsítványokat kínál. A telepítés folyamatát a Certbot leegyszerűsíti,

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Tekkit Classic kiszolgáló beállítása Ubuntu 16.10 rendszeren

Más rendszert használ? Mi az a Tekkit Classic? A Tekkit Classic egy modpack ahhoz a játékhoz, amelyet mindenki ismer és szeret; Minecraft. Tartalmaz néhányat a ver

Az iRedMail beállítása a Debian Wheezy rendszeren

Az iRedMail beállítása a Debian Wheezy rendszeren

Más rendszert használ? Ez az oktatóanyag megmutatja, hogyan telepítheti a csoportmunka iRedMail programot a Debian Wheezy friss telepítésére. Használnia kell egy szervát

Jekyll blog létrehozása Ubuntu 16.04-en

Jekyll blog létrehozása Ubuntu 16.04-en

Más rendszert használ? A Jekyll nagyszerű alternatíva a WordPress helyett blogíráshoz vagy tartalommegosztáshoz. Nem igényel adatbázist, és nagyon egyszerű i

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Felügyelet nélküli frissítések beállítása Debian 9-en (Stretch)

Más rendszert használ? Ha Debian szervert vásárol, akkor mindig rendelkeznie kell a legújabb biztonsági javításokkal és frissítésekkel, akár alszik, akár nem

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP 7.0 vagy PHP 7.1 telepítése és konfigurálása Ubuntu 16.04 rendszeren

A PHP és a kapcsolódó csomagok a leggyakrabban használt összetevők a webszerverek telepítésekor. Ebben a cikkben megtudjuk, hogyan kell beállítani a PHP 7.0 vagy PHP 7.1 o verzióját

A Squid Proxy telepítése a CentOS rendszeren

A Squid Proxy telepítése a CentOS rendszeren

A Squid egy népszerű, ingyenes Linux-program, amely lehetővé teszi továbbítási webproxy létrehozását. Ebben az útmutatóban megtudhatja, hogyan telepítheti a Squid-et a CentOS rendszerre, hogy megfordítsa

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

A Lighttpd (LLMP Stack) telepítése a CentOS 6 rendszeren

Bevezetés A Lighttpd az Apache forkja, amely sokkal kevésbé erőforrás-igényes. Könnyű, innen kapta a nevét, és meglehetősen egyszerű a használata. Telepítés

Három ingyenes szervervezérlő panel (gyors telepítés)

Három ingyenes szervervezérlő panel (gyors telepítés)

1. Virtualmin/Webmin A Virtualmin egy hatékony és rugalmas web hosting vezérlőpanel Linux és UNIX rendszerek számára, amely a jól ismert nyílt forráskódú webbázison alapul.

Yii alkalmazás beállítása Ubuntu 14.04-en

Yii alkalmazás beállítása Ubuntu 14.04-en

A Yii egy PHP-keretrendszer, amely lehetővé teszi alkalmazások gyorsabb és egyszerűbb fejlesztését. A Yii telepítése Ubuntura egyszerű, amint azt pontosan megtudhatja

A képernyő használata Ubuntu 14.04-en

A képernyő használata Ubuntu 14.04-en

A Screen egy olyan alkalmazás, amely lehetővé teszi a terminálmunkamenetek többszöri használatát egy ablakon belül. Ez lehetővé teszi több terminálablak szimulálását, ahol ez ma

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Állítsa be a saját DNS-kiszolgálóját a Debian/Ubuntu rendszeren

Ez az oktatóanyag elmagyarázza, hogyan állíthat be DNS-kiszolgálót a Bind9 használatával Debian vagy Ubuntu rendszeren. A cikkben ennek megfelelően helyettesítse be a saját-domain-neve.com címet. TH-nál

A Logrotate használata naplófájlok kezelésére

A Logrotate használata naplófájlok kezelésére

Bevezetés A Logrotate egy Linux segédprogram, amely leegyszerűsíti a naplófájlok kezelését. Általában naponta egyszer fut egy cron-feladaton keresztül, és kezeli a naplóbázist

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A statikus hálózat és az IPv6 konfigurálása CentOS 7 rendszeren

A VULTR a közelmúltban változtatásokat hajtott végre a saját oldalukon, és most már mindennek jól kell működnie, ha a NetworkManager engedélyezve van. Ha szeretné letiltani

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 módosítása a mester/kliens modell használatához CentOS 6 vagy CentOS 7 rendszeren

Az Icinga2 egy hatékony felügyeleti rendszer, és mester-kliens modellben használva helyettesítheti az NRPE-alapú felügyeleti ellenőrzések szükségességét. A mester-kliens

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

A Red5 Media Server beállítása az Ubuntu 16.04 rendszeren

Más rendszert használ? A Red5 egy Java nyelven megvalósított nyílt forráskódú médiaszerver, amely lehetővé teszi többfelhasználós Flash-alkalmazások, például élő streamin futtatását.

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Fordítsa le és telepítse az Nginx-et a PageSpeed ​​Modul segítségével a Debian 8 rendszeren

Ebben a cikkben látni fogjuk, hogyan fordíthatja le és telepítheti az Nginx fővonalat az Nginx hivatalos forrásaiból a PageSpeed ​​modullal, amely lehetővé teszi a

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Az Apache Cassandra 3.11.x telepítése Ubuntu 16.04 LTS rendszeren

Más rendszert használ? Az Apache Cassandra egy ingyenes és nyílt forráskódú NoSQL adatbázis-kezelő rendszer, amelyet úgy terveztek, hogy biztosítsa a méretezhetőséget,

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

A macOS Catalina 10.15.4 kiegészítés frissítése több problémát okoz, mint a megoldás

Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket