Að setja upp og stilla umsjónarmann á Ubuntu 16.04

Supervisor er viðskiptavinur/miðlarakerfi sem notað er til að stjórna fjölda UNIX ferla, nánar tiltekið ferlum sem tengjast verkefni eða viðskiptavin. Til dæmis gætirðu notað umsjónarmann til að hleypa af stað og fylgjast með handahófskenndum fjölda starfsmanna biðraða í vefforritinu þínu.

Íhlutir þessa kerfis eru:

  • supervisord: Miðlarahluti kerfisins.
  • supervisorctl: Skipanalínuviðmótið sem notað er til að hafa samskipti við netþjóninn.
  • Vefþjónn: Einfaldur vefþjónn og netnotendaviðmót með grunnvirkni miðað við supervisorctl .
  • XML-RPC tengi: Sami HTTP netþjónn sem vefþjónninn notar, þjónar XML-RPC tengi sem hægt er að nota til að stjórna umsjónarforritum.

Í þessari kennslu munum við setja upp nýjustu útgáfuna af supervisor, sýna hvernig á að hrogna og stjórna forritum í gegnum supervisorctlog stilla vefviðmót til að stjórna forritunum okkar.

Uppsetning og grunnstilling

Við munum setja upp umsjónarmann í gegnum easy_install, eiginleika uppsetningarverkfæra Python.

Uppfærðu fyrst staðbundna pakkalistann þinn og settu síðan upp Python setuptools.

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

Nú getum við sett upp umsjónarmann.

sudo easy_install supervisor

Þegar uppsetningunni er lokið verðum við að búa til stillingarskrána okkar. Búðu til möppu sem heitir supervisorinni /etc.

sudo mkdir /etc/supervisor

Og framkvæma síðan eftirfarandi.

echo_supervisord_conf >  /etc/supervisor/supervisord.conf

Ef þú ert ekki skráður inn með rootnotandanum gætirðu fengið Permission deniedvillu (jafnvel með sudo). Þetta er vegna tilvísunarinnar. Til að sigrast á þessu skaltu skrá þig inn sem rót.

sudo su

Þá geturðu keyrt skipunina aftur.

echo_supervisord_conf > /etc/supervisor/supervisord.conf

Þú getur nú skilið rootnotandann eftir með exitskipunina. The echo_supervisord_confstjórn var veitt af leiðbeinanda uppsetningu okkar.

Grunnstilling

Opnaðu /etc/supervisor/supervisord.confskrána og athugaðu innihald hennar. Þú munt taka eftir því að þessi stillingarskrá fylgir INIsetningafræðinni og henni er deilt með köflum (táknað með sviga eins og í [section-name]).

Til að bæta við forritum til að stjórna af umsjónarmanni þurfum við bara að búa til viðeigandi [program]hluta. Hins vegar, til að forðast að klúðra aðalstillingarskránni í hvert skipti sem við þurfum að bæta við (eða breyta) forriti, munum við nota [include]hlutann. Finndu þennan hluta, afskrifaðu hann og breyttu honum svo þannig að hann líti út eins og eftirfarandi.

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

Nú fyrir hvert forrit sem við viljum bæta við munum við búa til .iniskrá inni í /etc/supervisor/conf.d/möppunni. Við skulum búa til þessa möppu.

sudo mkdir /etc/supervisor/conf.d

Ræsir umsjónarþjóninn

Eins og áður hefur komið fram er umsjónarmaður samsettur af netþjóni og viðskiptavinum sem tengjast honum. Til að geta stjórnað og stjórnað forritum þurfum við að ræsa þjóninn. Til að gera það munum við skrá umsjónarþjóninn í systemd, þannig að hægt sé að ræsa þjóninn við ræsingu kerfisins.

Til að gera það skaltu búa til skrá sem heitir supervisord.serviceí /etc/systemd/systemmöppunni.

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

Bættu eftirfarandi innihaldi við skrána.

[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

Virkjaðu umsjónarþjónustuna.

sudo systemctl start supervisord.service

Svo lengi sem þjónustuskráin er staðsett í /etc/systemd/systemmöppunni verður hún sjálfkrafa ræst við ræsingu kerfisins.

Þú getur athugað stöðu þjónustunnar.

systemctl status supervisord.service

Einnig er hægt að skoða logs.

sudo journalctl -u supervisord.service

Bætir við forritum

Forritin sem stjórnað er af umsjónarmanni eru gefin upp af mismunandi [program]hlutum í uppsetningunni. Fyrir hvert forrit sem við viljum stjórna munum við búa til sjálfstæða stillingarskrá sem upplýsir um keyrsluslóð skipana, allar umhverfisbreytur, hvernig á að framkvæma ef lokun verður.

Fyrst skulum við búa til einfalt handrit sem skráir tímastimpil. Búðu til skrá sem heitir hello_supervisor.sh(hvar sem þú vilt, við munum vísa til fullrar slóðar þessa handrits).

touch hello_supervisor.sh

Settu nú eftirfarandi innihald inn í það

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

Gerðu það nú keyranlegt

chmod +x hello_supervisor.sh

Í raun er þetta handrit frekar gagnslaust. Hins vegar getum við notað það til að sýna fram á vald umsjónarmanns. Búðu til samsvarandi stillingarskrá með því að keyra eftirfarandi.

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

Settu nú eftirfarandi innihald í þessa skrá.

[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

Athugið: Vertu viss um að skipta USERút fyrir notandanafnið þitt.

Við munum fara yfir þessa stillingu skref fyrir skref.

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

Í fyrsta lagi byrjar uppsetningin á því að skilgreina forrit með nafninu hello_supervisor . Það upplýsir einnig alla slóð executable sem á að keyra.

autostart=true

Þessi lína segir að þetta forrit ætti að vera sjálfkrafa ræst þegar umsjónarmaður er ræstur.

autorestart=true

Ef forritið hættir, af einhverjum ástæðum, tilkynnir þessi lína umsjónarmanni að endurræsa ferlið sjálfkrafa.

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

Þessar línur skilgreina staðsetningu logskrár fyrir stderrog stdout, í sömu röð.

Stjórna forritum

Nú þegar við höfum sett upp og stillt umsjónarmann getum við stjórnað ferlum okkar.

Eftir að nýju forriti hefur verið bætt við ættum við að keyra eftirfarandi tvær skipanir, til að láta þjóninn vita að endurlesa stillingarskrárnar og beita öllum breytingum.

sudo supervisorctl reread
sudo supervisorctl update

Framkvæmdu nú supervisorctlviðskiptavininn.

sudo supervisorctl

Þú munt taka á móti þér með lista yfir skráða ferla. Þú munt sjá ferli sem kallast hello_supervisormeð RUNNINGstöðu.

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

Sláðu helpinn lista yfir tiltækar skipanir.

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

Í hnotskurn getum við start, stopog restartforrit með því að senda heiti forritsins sem rök fyrir viðkomandi skipun.

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> 

Við getum líka skoðað úttak forritsins með tailskipuninni.

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

Fyrir stderrúttakið geturðu líka notað 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!

Með því að kalla fram statusskipunina geturðu skoðað stöðu allra skráðra forrita.

Þegar þú ert búinn geturðu hætt.

supervisor> quit

Viðskiptavinur vefþjónsins

Til að leyfa aðgang að eftirlitsvefþjóninum skaltu opna stillingarskrá eftirlitsaðila og finna [inet_http_server]hlutann.

nano /etc/supervisor/supervisord.conf

Uppfærðu nú stillingar þessa hluta með eftirfarandi.

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

Skiptu um your_usernameog your_passwordvistaðu breytingarnar þínar og endurræstu umsjónarþjónustuna með þeim skilríkjum sem þú vilt.

sudo systemctl restart supervisord.service

Mundu að leyfa TCPaðgang að gáttinni 9001á eldveggnum þínum og síðan aðgang http://{server-ip}:9001úr vafranum þínum. Þegar spurt er, gefðu upp usernameog password. Þú getur nú stjórnað ferlum þínum af vefnum.

Niðurstaða

Við höfum sett upp nýjustu útgáfuna af supervisord, lært hvernig á að stilla það fyrir sjálfvirka ræsingu kerfisins með systemd og einnig farið yfir grunnnotkun á supervisorctl. Fyrir fullkomnari uppsetningu og notkunartilvik geturðu vísað til opinberra eftirlitsskjala .


Settu upp Cacti á Debian Jessie

Settu upp Cacti á Debian Jessie

Inngangur Cacti er opinn vöktunar- og grafatól sem byggir að fullu á RRD gögnum. Í gegnum Cacti geturðu fylgst með næstum hvers kyns tækjum

Settu upp Lets Encrypt SSL á WordPress appi með einum smelli

Settu upp Lets Encrypt SSL á WordPress appi með einum smelli

Inngangur Lets Encrypt er vottunaryfirvaldsþjónusta sem býður upp á ókeypis TLS/SSL vottorð. Uppsetningarferlið er einfaldað af Certbot,

Hvernig á að setja upp Tekkit Classic Server á Ubuntu 16.10

Hvernig á að setja upp Tekkit Classic Server á Ubuntu 16.10

Að nota annað kerfi? Hvað er Tekkit Classic? Tekkit Classic er modpack fyrir leikinn sem allir þekkja og elska; Minecraft. Það inniheldur eitthvað af ver

Settu upp iRedMail á Debian Wheezy

Settu upp iRedMail á Debian Wheezy

Að nota annað kerfi? Þessi kennsla mun sýna þér hvernig á að setja upp hópbúnaðinn iRedMail á nýrri uppsetningu á Debian Wheezy. Þú ættir að nota þjóna

Að búa til Jekyll blogg á Ubuntu 16.04

Að búa til Jekyll blogg á Ubuntu 16.04

Að nota annað kerfi? Jekyll er frábær valkostur við WordPress til að blogga eða deila efni. Það krefst enga gagnagrunna og það er mjög auðvelt i

Hvernig á að setja upp og stilla PHP 7.0 eða PHP 7.1 á Ubuntu 16.04

Hvernig á að setja upp og stilla PHP 7.0 eða PHP 7.1 á Ubuntu 16.04

PHP og tengdir pakkar eru algengustu íhlutirnir þegar vefþjónn er notaður. Í þessari grein munum við læra hvernig á að setja upp PHP 7.0 eða PHP 7.1 o

Hvernig á að setja upp Squid Proxy á CentOS

Hvernig á að setja upp Squid Proxy á CentOS

Smokkfiskur er vinsælt, ókeypis Linux forrit sem gerir þér kleift að búa til framsendingarforrit á vefnum. Í þessari handbók muntu sjá hvernig á að setja upp Squid á CentOS til að snúa þér

Hvernig á að setja upp Lighttpd (LLMP Stack) á CentOS 6

Hvernig á að setja upp Lighttpd (LLMP Stack) á CentOS 6

Inngangur Lighttpd er gaffal af Apache sem miðar að því að vera miklu minna auðlindafrekt. Hann er léttur, þess vegna heitir hann, og er frekar einfaldur í notkun. Uppsetning

Þrjú ókeypis stjórnborð miðlara (fljót uppsetning)

Þrjú ókeypis stjórnborð miðlara (fljót uppsetning)

1. Virtualmin/Webmin Virtualmin er öflugt og sveigjanlegt stjórnborð fyrir vefhýsingu fyrir Linux og UNIX kerfi byggt á hinum vel þekkta Open Source vefgrunni

Setja upp Yii forrit á Ubuntu 14.04

Setja upp Yii forrit á Ubuntu 14.04

Yii er PHP ramma sem gerir þér kleift að þróa forrit hraðar og auðveldlega. Uppsetning Yii á Ubuntu er einföld, þar sem þú munt læra nákvæmlega

Notkun Skjár á Ubuntu 14.04

Notkun Skjár á Ubuntu 14.04

Skjár er forrit sem leyfir margs konar notkun flugstöðvarlota innan eins glugga. Þetta gerir þér kleift að líkja eftir mörgum flugstöðvum gluggum þar sem það ma

Settu upp þinn eigin DNS netþjón á Debian/Ubuntu

Settu upp þinn eigin DNS netþjón á Debian/Ubuntu

Þessi kennsla útskýrir hvernig á að setja upp DNS netþjón með Bind9 á Debian eða Ubuntu. Í gegnum greinina skaltu skipta út-léninu þínu.com í samræmi við það. Á þ

Notkun Logrotate til að stjórna annálaskrám

Notkun Logrotate til að stjórna annálaskrám

Inngangur Logrotate er Linux tól sem einfaldar stjórnun annálaskráa. Það keyrir venjulega einu sinni á dag í gegnum cron-vinnu og stjórnar annálagrunni

Stilla Static Networking og IPv6 á CentOS 7

Stilla Static Networking og IPv6 á CentOS 7

VULTR hefur nýlega gert breytingar á enda þeirra og allt ætti nú að virka vel út úr kassanum með NetworkManager virkt. Ef þú vilt slökkva á

Breytir Icinga2 til að nota Master/Client Model á CentOS 6 eða CentOS 7

Breytir Icinga2 til að nota Master/Client Model á CentOS 6 eða CentOS 7

Icinga2 er öflugt eftirlitskerfi og þegar það er notað í aðal-viðskiptavinamódel getur það komið í stað þörf fyrir NRPE-undirstaða vöktunareftirlit. Húsbóndinn

Settu upp Red5 Media Server á Ubuntu 16.04

Settu upp Red5 Media Server á Ubuntu 16.04

Að nota annað kerfi? Red5 er opinn uppspretta miðlara útfærður í Java sem gerir þér kleift að keyra Flash fjölnotendaforrit eins og straumspilun í beinni

Settu saman og settu upp Nginx með PageSpeed ​​Module á Debian 8

Settu saman og settu upp Nginx með PageSpeed ​​Module á Debian 8

Í þessari grein munum við sjá hvernig á að setja saman og setja upp Nginx mainline frá opinberum heimildum Nginx með PageSpeed ​​einingunni, sem gerir þér kleift að

Hvernig á að setja upp Apache Cassandra 3.11.x á CentOS 7

Hvernig á að setja upp Apache Cassandra 3.11.x á CentOS 7

Að nota annað kerfi? Apache Cassandra er ókeypis og opinn uppspretta NoSQL gagnagrunnsstjórnunarkerfi sem er hannað til að veita sveigjanleika, háan

Hvernig á að setja upp Vanilla Forum á Ubuntu 16.04

Hvernig á að setja upp Vanilla Forum á Ubuntu 16.04

Að nota annað kerfi? Vanilla forum er opinn uppspretta spjallforrit skrifað í PHP. Það er fullkomlega sérhannaðar, auðvelt í notkun og styður utanaðkomandi

Hvernig á að setja upp Gitea á Debian 9

Hvernig á að setja upp Gitea á Debian 9

Að nota annað kerfi? Gitea er annað opinn uppspretta, sjálfhýst útgáfustýringarkerfi knúið af Git. Gitea er skrifað á Golang og er

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira