Supervisor diegimas ir konfigūravimas Ubuntu 16.04

Supervisor yra kliento / serverio sistema, naudojama daugeliui UNIX procesų, konkrečiau, procesams, susijusiems su projektu ar klientu, valdyti. Pavyzdžiui, galite naudoti prižiūrėtoją, kad sukurtumėte ir stebėtumėte savavališką savo žiniatinklio programos darbuotojų eilių skaičių.

Šios sistemos komponentai yra šie:

  • supervisor: sistemos serverio dalis.
  • supervisorctl: komandų eilutės sąsaja, naudojama sąveikai su serveriu.
  • Žiniatinklio serveris: paprastas žiniatinklio serveris ir žiniatinklio vartotojo sąsaja su pagrindinėmis funkcijomis, palyginti su supervisorctl .
  • XML-RPC sąsaja: tas pats HTTP serveris, kurį naudoja žiniatinklio klientas, aptarnauja XML-RPC sąsają, kurią galima naudoti prižiūrėtojo programoms valdyti.

Šiame vadove mes įdiegsime naujausią supervizoriaus versiją, parodysime, kaip sukurti ir valdyti programas per supervisorctl, ir sukonfigūruosime žiniatinklio sąsają programoms valdyti.

Įdiegimas ir pagrindinė konfigūracija

Prižiūrėtoją easy_installįdiegsime naudodami python sąrankos įrankių funkciją.

Pirmiausia atnaujinkite vietinių paketų sąrašą ir įdiekite python setuptools.

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

Dabar galime įdiegti supervizorių.

sudo easy_install supervisor

Kai diegimas bus baigtas, turime sugeneruoti konfigūracijos failą. Sukurkite aplanką, pavadintą supervisorviduje /etc.

sudo mkdir /etc/supervisor

Ir tada atlikite toliau nurodytus veiksmus.

echo_supervisord_conf >  /etc/supervisor/supervisord.conf

Jei nesate prisijungę naudodami rootvartotoją, galite gauti Permission deniedklaidą (net ir naudodami sudo). Taip yra dėl peradresavimo. Norėdami tai išspręsti, prisijunkite kaip root.

sudo su

Tada galite paleisti komandą dar kartą.

echo_supervisord_conf > /etc/supervisor/supervisord.conf

Dabar galite palikti rootvartotoją su exitkomanda. echo_supervisord_confKomanda buvo pateikta mūsų vadovui montavimas.

Pagrindinė konfigūracija

Atidarykite /etc/supervisor/supervisord.conffailą ir patikrinkite jo turinį. Atkreipkite dėmesį, kad šis konfigūracijos failas atitinka INIsintaksę ir yra padalintas į skyrius (pavaizduotas skliausteliuose, kaip nurodyta [section-name]).

Norėdami pridėti programas, kurias valdys prižiūrėtojas, tereikia sukurti atitinkamas [program]skiltis. Tačiau, kad nesusimaišytume su pagrindiniu konfigūracijos failu kiekvieną kartą, kai reikės pridėti (arba pakeisti) programą, naudosime [include]skyrių. Raskite šią skiltį, panaikinkite komentarą ir redaguokite, kad atrodytų taip.

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

Dabar kiekvienai programai, kurią norime pridėti, kataloge sukursime .inifailą /etc/supervisor/conf.d/. Sukurkime šį aplanką.

sudo mkdir /etc/supervisor/conf.d

Paleidžiamas priežiūros serveris

Kaip minėta anksčiau, prižiūrėtojas susideda iš serverio ir prie jo prisijungusių klientų. Kad galėtume valdyti ir valdyti programas, turime paleisti serverį. Norėdami tai padaryti, užregistruosime priežiūros serverį systemd, kad serverį būtų galima paleisti paleidžiant sistemą.

Norėdami tai padaryti, sukurti failą pavadinimu supervisord.serviceį /etc/systemd/systemkatalogą.

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

Pridėkite šį turinį prie failo.

[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

Suaktyvinkite prižiūrėtojo paslaugą.

sudo systemctl start supervisord.service

Kol paslaugos failas yra /etc/systemd/systemkataloge, jis bus automatiškai paleistas paleidžiant sistemą.

Galite patikrinti paslaugos būseną.

systemctl status supervisord.service

Be to, galite peržiūrėti žurnalus.

sudo journalctl -u supervisord.service

Programų pridėjimas

Prižiūrėtojo valdomos programos pateikiamos skirtinguose [program]konfigūracijos skyriuose. Kiekvienai programai, kurią norime valdyti, sukursime atskirą konfigūracijos failą, informuojantį komandos vykdomąjį kelią, bet kokius aplinkos kintamuosius, kaip elgtis išjungus.

Pirmiausia sukurkime paprastą scenarijų, kuris registruoja laiko žymą. Sukurkite failą pavadinimu hello_supervisor.sh(kur norite, mes nurodysime visą šio scenarijaus kelią).

touch hello_supervisor.sh

Dabar įdėkite į jį šį turinį

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

Dabar padarykite jį vykdomą

chmod +x hello_supervisor.sh

Praktiškai šis scenarijus yra beveik nenaudingas. Tačiau mes galime jį panaudoti norėdami parodyti prižiūrėtojo galią. Sukurkite atitinkamą konfigūracijos failą vykdydami toliau nurodytus veiksmus.

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

Dabar į šį failą įdėkite šį turinį.

[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

Pastaba: būtinai pakeiskite USERsavo vartotojo vardu.

Mes peržiūrėsime šią konfigūraciją žingsnis po žingsnio.

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

Pirma, konfigūracija prasideda apibrėžiant programą pavadinimu hello_supervisor . Tai taip pat informuoja visą vykdomojo failo kelią.

autostart=true

Šioje eilutėje nurodoma, kad ši programa turi būti automatiškai paleista, kai paleidžiamas vadovas.

autorestart=true

Jei programa dėl kokių nors priežasčių išsijungia, ši eilutė informuoja prižiūrėtoją, kad jis automatiškai paleis procesą iš naujo.

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

Šios linijos apibrėžia LOGFILE vietą stderrir stdout, atitinkamai.

Programų valdymas

Dabar, kai įdiegėme ir sukonfigūravome prižiūrėtoją, galime valdyti savo procesus.

Pridėję naują programą, turėtume paleisti šias dvi komandas, kad informuotume serverį iš naujo perskaityti konfigūracijos failus ir pritaikyti bet kokius pakeitimus.

sudo supervisorctl reread
sudo supervisorctl update

Dabar vykdykite supervisorctlklientą.

sudo supervisorctl

Jūs būsite pasveikinti su registruotų procesų sąrašu. Pamatysite procesą, iškviestą hello_supervisorsu RUNNINGbūsena.

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

Įveskite helpgalimų komandų sąrašą.

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

Trumpai tariant, mes galime start, stopo restartprogramas, perduodant programos pavadinimą kaip argumentą atitinkamai komandai.

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> 

Taip pat galime pažvelgti į programos išvestį naudodami tailkomandą.

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

Išėjimui taip pat stderrgalite naudoti 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!

Iškvietę statuskomandą galite peržiūrėti visų registruotų programų būseną.

Kai baigsite, galite mesti.

supervisor> quit

Žiniatinklio serverio klientas

Norėdami leisti prieigą prie prižiūrėtojo žiniatinklio serverio, atidarykite prižiūrėtojo konfigūracijos failą ir suraskite [inet_http_server]skyrių.

nano /etc/supervisor/supervisord.conf

Dabar atnaujinkite šio skyriaus konfigūraciją taip.

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

Pakeiskite your_usernameir your_passwordsu norimais kredencialais, išsaugokite pakeitimus ir iš naujo paleiskite priežiūros paslaugą.

sudo systemctl restart supervisord.service

Nepamirškite leisti TCPprieigos prie 9001ugniasienės prievado ir tada pasiekti http://{server-ip}:9001iš naršyklės. Kai paprašys, pateikite savo usernameir password. Dabar galite valdyti savo procesus iš žiniatinklio.

Išvada

Įdiegėme naujausią supervisor versiją, išmokome ją sukonfigūruoti, kad sistema būtų automatiškai paleista naudojant systemd, taip pat peržiūrėjome pagrindinį naudojimą supervisorctl. Išplėstesnės konfigūracijos ir naudojimo atvejų galite rasti oficialioje priežiūros dokumentacijoje .


Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)

Kaip nustatyti neprižiūrimus atnaujinimus Debian 9 (Stretch)

Naudojate kitą sistemą? Jei perkate Debian serverį, visada turėtumėte turėti naujausius saugos pataisymus ir naujinimus, nesvarbu, ar miegate, ar ne

Kaip įdiegti ir konfigūruoti PHP 7.0 arba PHP 7.1 Ubuntu 16.04

Kaip įdiegti ir konfigūruoti PHP 7.0 arba PHP 7.1 Ubuntu 16.04

PHP ir susiję paketai yra dažniausiai naudojami komponentai diegiant žiniatinklio serverį. Šiame straipsnyje sužinosime, kaip nustatyti PHP 7.0 arba PHP 7.1 o

Nustatykite savo DNS serverį Debian / Ubuntu

Nustatykite savo DNS serverį Debian / Ubuntu

Šiame vadove paaiškinama, kaip nustatyti DNS serverį naudojant Bind9 sistemoje Debian arba Ubuntu. Visame straipsnyje atitinkamai pakeiskite savo-domeno-vardas.com. Prie th

Nustatykite „Red5 Media Server“ Ubuntu 16.04

Nustatykite „Red5 Media Server“ Ubuntu 16.04

Naudojate kitą sistemą? „Red5“ yra atvirojo kodo medijos serveris, įdiegtas „Java“, leidžiantis paleisti „Flash“ kelių vartotojų programas, tokias kaip tiesioginis srautas.

Sukompiliuokite ir įdiekite „Nginx“ naudodami „PageSpeed“ modulį „Debian 8“.

Sukompiliuokite ir įdiekite „Nginx“ naudodami „PageSpeed“ modulį „Debian 8“.

Šiame straipsnyje pamatysime, kaip sukompiliuoti ir įdiegti pagrindinę Nginx liniją iš oficialių Nginx šaltinių naudojant PageSpeed ​​modulį, kuris leidžia

Kaip įdiegti „Vanilla Forum“ Ubuntu 16.04

Kaip įdiegti „Vanilla Forum“ Ubuntu 16.04

Naudojate kitą sistemą? Vanilla forumas yra atvirojo kodo forumo programa, parašyta PHP. Tai visiškai pritaikoma, paprasta naudoti ir palaiko išorinę

Kaip įdiegti „Kanboard“ Ubuntu 18.04 LTS

Kaip įdiegti „Kanboard“ Ubuntu 18.04 LTS

Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti

Kaip įdiegti „Kanboard“ „Debian 9“.

Kaip įdiegti „Kanboard“ „Debian 9“.

Naudojate kitą sistemą? Įvadas Kanboard yra nemokama atvirojo kodo projektų valdymo programinė įranga, skirta palengvinti ir vizualizuoti

Kaip įdiegti Gitea Debian 9

Kaip įdiegti Gitea Debian 9

Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina Git. Gitea parašyta golangu ir yra

Kaip įdiegti „Gitea“ Ubuntu 18.04

Kaip įdiegti „Gitea“ Ubuntu 18.04

Naudojate kitą sistemą? Gitea yra alternatyvi atvirojo kodo, savarankiškai priglobta versijų valdymo sistema, kurią maitina git. Gitea parašyta golangu ir yra

Įdiekite „Lynis“ „Debian 8“.

Įdiekite „Lynis“ „Debian 8“.

Įvadas Lynis yra nemokama atvirojo kodo sistemos audito priemonė, kurią naudoja daugelis sistemų administratorių, kad patikrintų vientisumą ir sustiprintų savo sistemas. aš

Kaip įdiegti Thelia 2.3 Debian 9

Kaip įdiegti Thelia 2.3 Debian 9

Naudojate kitą sistemą? Thelia yra atvirojo kodo įrankis, skirtas kurti el. verslo svetaines ir valdyti PHP parašytą internetinį turinį. Thelia šaltinio kodas i

Kaip įdiegti „Microweber“ „CentOS 7“.

Kaip įdiegti „Microweber“ „CentOS 7“.

Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys

„Microweber“ diegimas „Ubuntu 16.04“.

„Microweber“ diegimas „Ubuntu 16.04“.

Naudojate kitą sistemą? „Microweber“ yra atvirojo kodo „drag and drop“ TVS ir internetinė parduotuvė. „Microweber“ šaltinio kodas yra „GitHub“. Šis vadovas jums parodys

Kaip įdiegti dotCMS Ubuntu 16.04

Kaip įdiegti dotCMS Ubuntu 16.04

Naudojate kitą sistemą? DotCMS yra atvirojo kodo, įmonės lygio turinio valdymo sistema, parašyta Java. Jame yra beveik visos reikalingos funkcijos t

Kaip įdiegti „BigTree CMS“ Fedora 26 LAMP VPS

Kaip įdiegti „BigTree CMS“ Fedora 26 LAMP VPS

Naudojate kitą sistemą? BigTree CMS 4.2 yra greita ir lengva, nemokama ir atviro kodo, įmonės lygio turinio valdymo sistema (TVS), turinti platų

„Minecraft“ serverių tinklo sukūrimas naudojant „BungeeCord“ „Debian 8“, „Debian 9“ arba „CentOS 7“

„Minecraft“ serverių tinklo sukūrimas naudojant „BungeeCord“ „Debian 8“, „Debian 9“ arba „CentOS 7“

Ko jums reikia Vultr VPS su mažiausiai 1 GB RAM. SSH prieiga (su root / administratoriaus teisėmis). 1 veiksmas: „BungeeCord“ diegimas Pirmiausia

„Docker CE“ diegimas „Ubuntu 16.04“.

„Docker CE“ diegimas „Ubuntu 16.04“.

Naudojate kitą sistemą? Docker yra programa, leidžianti diegti programas, kurios vykdomos kaip konteineriai. Tai buvo parašyta populiarioje Go programoje

Kaip įdiegti Golang 1.8.3 CentOS 7, Ubuntu 16.04 ir Debian 9

Kaip įdiegti Golang 1.8.3 CentOS 7, Ubuntu 16.04 ir Debian 9

Golang yra programavimo kalba, kurią sukūrė Google. Dėl savo universalumo, paprastumo ir patikimumo Golangas tapo vienu populiariausių

„Dirty Cow Exploit“ pataisymas „CentOS“.

„Dirty Cow Exploit“ pataisymas „CentOS“.

Kas yra purvina karvė (CVE-2016-5195)? „Dirty Cow“ pažeidžiamumas išnaudojamas „Linux“ apdorojant kodą. Tai leidžia neprivilegijuotam vartotojui gai

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį