Instalimi dhe konfigurimi i mbikëqyrësit në Ubuntu 16.04

Mbikëqyrësi është një sistem klient/server që përdoret për të kontrolluar një sërë procesesh UNIX, më konkretisht procese që lidhen me një projekt ose një klient. Për shembull, mund të përdorni mbikëqyrësin për të krijuar dhe monitoruar një numër arbitrar të radhëve të punonjësve të aplikacionit tuaj në internet.

Përbërësit e këtij sistemi janë:

  • mbikëqyrësi: Pjesa e serverit të sistemit.
  • supervisorctl: Ndërfaqja e linjës së komandës e përdorur për të bashkëvepruar me serverin.
  • Serveri në internet: Një server i thjeshtë në internet dhe një ndërfaqe përdoruesi në internet me funksionalitet bazë në krahasim me supervisorctl .
  • Ndërfaqja XML-RPC: I njëjti server HTTP i përdorur nga klienti në internet, shërben një ndërfaqe XML-RPC që mund të përdoret për të kontrolluar programet mbikëqyrëse.

Në këtë tutorial ne do të instalojmë versionin më të përditësuar të mbikëqyrësit, do të demonstrojmë se si të krijojmë dhe menaxhojmë programet përmes supervisorctl, dhe të konfigurojmë një ndërfaqe ueb për të menaxhuar programet tona.

Instalimi dhe konfigurimi bazë

Ne do të instalojmë mbikëqyrësin përmes easy_install, një veçori e setuptools të python.

Së pari, përditësoni listën e paketave tuaja lokale dhe më pas instaloni python setuptools.

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

Tani mund të instalojmë mbikëqyrës.

sudo easy_install supervisor

Pasi të përfundojë instalimi, ne duhet të gjenerojmë skedarin tonë të konfigurimit. Krijoni një dosje me emrin supervisorbrenda /etc.

sudo mkdir /etc/supervisor

Dhe pastaj ekzekutoni sa vijon.

echo_supervisord_conf >  /etc/supervisor/supervisord.conf

Nëse nuk jeni identifikuar me rootpërdoruesin, mund të merrni një Permission deniedgabim (madje edhe me sudo). Kjo është për shkak të ridrejtimit. Për ta kapërcyer këtë, identifikohuni si root.

sudo su

Pastaj mund ta ekzekutoni përsëri komandën.

echo_supervisord_conf > /etc/supervisor/supervisord.conf

Tani mund ta lini rootpërdoruesin me exitkomandën. echo_supervisord_confKomanda është dhënë nga instalimi tonë mbikëqyrës.

Konfigurimi bazë

Hapni /etc/supervisor/supervisord.confskedarin dhe kontrolloni përmbajtjen e tij. Do të vini re se ky skedar konfigurimi ndjek INIsintaksën dhe ndahet sipas seksioneve (paraqiten me kllapa si në [section-name]).

Për të shtuar programe që do të menaxhohen nga mbikëqyrësi, ne vetëm duhet të krijojmë [program]seksionet e duhura . Megjithatë, për të shmangur ngatërrimin me skedarin kryesor të konfigurimit sa herë që na duhet të shtojmë (ose ndryshojmë) një program, ne do të përdorim [include]seksionin. Gjeni këtë seksion, hiqni komentin dhe më pas modifikojeni që të duket si më poshtë.

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

Tani për çdo program që duam të shtojmë, do të krijojmë një .iniskedar brenda /etc/supervisor/conf.d/drejtorisë. Le të krijojmë këtë dosje.

sudo mkdir /etc/supervisor/conf.d

Nisja e serverit mbikëqyrës

Siç u përmend më parë, mbikëqyrësi përbëhet nga një server dhe klientë që lidhen me të. Për të qenë në gjendje të menaxhojmë dhe kontrollojmë programet, duhet të nisim serverin. Për ta bërë këtë, ne do të regjistrojmë serverin mbikëqyrës në systemd, në mënyrë që serveri të fillojë në fillimin e sistemit.

Për ta bërë këtë, krijoni një skedar të quajtur supervisord.service/etc/systemd/systemdrejtori.

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

Shtoni përmbajtjen e mëposhtme në skedar.

[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

Aktivizoni shërbimin e mbikëqyrjes.

sudo systemctl start supervisord.service

Për sa kohë që skedari i shërbimit ndodhet në /etc/systemd/systemdrejtori, ai do të niset automatikisht në fillimin e sistemit.

Ju mund të kontrolloni statusin e shërbimit.

systemctl status supervisord.service

Gjithashtu, mund të shikoni regjistrat.

sudo journalctl -u supervisord.service

Shtimi i programeve

Programet e kontrolluara nga mbikëqyrësi jepen nga [program]seksione të ndryshme në konfigurim. Për secilin program që duam të menaxhojmë, ne do të krijojmë një skedar konfigurimi të pavarur që informon shtegun e ekzekutueshëm të komandës, çdo variabël mjedisor, se si të kryhet në rast mbylljeje.

Së pari, le të krijojmë një skript të thjeshtë që regjistron një stamp kohor. Krijoni një skedar të quajtur hello_supervisor.sh(kudo që dëshironi, ne do t'i referohemi shtegut të plotë të këtij skripti).

touch hello_supervisor.sh

Tani, vendosni përmbajtjen e mëposhtme në të

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

Tani bëjeni të ekzekutueshme

chmod +x hello_supervisor.sh

Në aspektin praktik, ky skenar është shumë i padobishëm. Megjithatë, ne mund ta përdorim atë për të demonstruar fuqinë e mbikëqyrësit. Krijoni skedarin përkatës të konfigurimit duke ekzekutuar sa vijon.

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

Tani vendosni përmbajtjen e mëposhtme në këtë skedar.

[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

Shënim: Sigurohuni që ta zëvendësoni USERme emrin tuaj të përdoruesit.

Ne do ta shqyrtojmë këtë konfigurim hap pas hapi.

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

Së pari, konfigurimi fillon duke përcaktuar një program me emrin hello_supervisor . Ai gjithashtu informon shtegun e plotë të ekzekutuesit që do të ekzekutohet.

autostart=true

Kjo linjë thotë se ky program duhet të fillojë automatikisht kur të fillojë mbikëqyrësi.

autorestart=true

Nëse programi del, për ndonjë arsye, kjo linjë informon mbikëqyrësin që të rifillojë automatikisht procesin.

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

Këto rreshta përcaktojnë vendndodhjen e skedarit log për stderrdhe stdout, përkatësisht.

Menaxhimi i programeve

Tani që kemi instaluar dhe konfiguruar mbikëqyrësin, ne jemi në gjendje të menaxhojmë proceset tona.

Pas shtimit të një programi të ri, duhet të ekzekutojmë dy komandat e mëposhtme, për të informuar serverin që të rilexojë skedarët e konfigurimit dhe të aplikojë çdo ndryshim.

sudo supervisorctl reread
sudo supervisorctl update

Tani ekzekutoni supervisorctlklientin.

sudo supervisorctl

Ju do të përshëndeteni me një listë të proceseve të regjistruara. Do të shihni një proces të quajtur hello_supervisorme një RUNNINGstatus.

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

Shkruani helpnjë listë të komandave të disponueshme.

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

Në pak fjalë, mund të kemi start, stopdhe restartprogramet duke kaluar emrin e programit si një argument për komandën përkatëse.

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> 

Mund t'i hedhim një sy edhe daljes së programit me tailkomandën.

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

Për stderrdaljen, mund të përdorni tailgjithashtu.

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!

Duke thirrur statuskomandën, mund të shikoni statusin e të gjitha programeve të regjistruara.

Pasi të keni mbaruar, mund të hiqni dorë.

supervisor> quit

Klienti i uebserverit

Për të lejuar aksesin te serveri i uebit i mbikëqyrësit, hapni skedarin e konfigurimit të mbikëqyrësit dhe gjeni [inet_http_server]seksionin.

nano /etc/supervisor/supervisord.conf

Tani përditësoni konfigurimin e këtij seksioni me sa vijon.

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

Zëvendësoni your_usernamedhe your_passwordme kredencialet tuaja të dëshiruara, ruani modifikimet tuaja dhe rinisni shërbimin e mbikëqyrësit.

sudo systemctl restart supervisord.service

Mos harroni të lejoni TCPhyrjen në portin 9001në murin tuaj të zjarrit dhe më pas hyrjen http://{server-ip}:9001nga shfletuesi juaj. Kur ju kërkohet, jepni usernamedhe password. Tani mund t'i kontrolloni proceset tuaja nga ueb.

konkluzioni

Ne kemi instaluar versionin më të përditësuar të mbikëqyrësit, kemi mësuar se si ta konfigurojmë atë për fillimin automatik të sistemit me systemd dhe kemi rishikuar gjithashtu një përdorim bazë të supervisorctl. Për konfigurime më të avancuara dhe raste përdorimi mund t'i referoheni dokumentacionit zyrtar të mbikëqyrësit .


Si të konfiguroni një server Tekkit Classic në Ubuntu 16.10

Si të konfiguroni një server Tekkit Classic në Ubuntu 16.10

Përdorimi i një sistemi të ndryshëm? Çfarë është Tekkit Classic? Tekkit Classic është një modpack për lojën që të gjithë e njohin dhe e duan; Minecraft. Ai përmban disa nga ver

Krijimi i një Blog Jekyll në Ubuntu 16.04

Krijimi i një Blog Jekyll në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? Jekyll është një alternativë e shkëlqyeshme për WordPress për blogimin ose ndarjen e përmbajtjes. Nuk kërkon ndonjë bazë të dhënash dhe është shumë e lehtë i

Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Si të konfiguroni përmirësimet e pambikëqyrura në Debian 9 (Stretch)

Përdorimi i një sistemi të ndryshëm? Nëse blini një server Debian, atëherë duhet të keni gjithmonë arnimet dhe përditësimet më të fundit të sigurisë, pavarësisht nëse jeni në gjumë apo jo

Si të instaloni Squid Proxy në CentOS

Si të instaloni Squid Proxy në CentOS

Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer

Konfiguro serverin e mediave Red5 në Ubuntu 16.04

Konfiguro serverin e mediave Red5 në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? Red5 është një server mediash me burim të hapur i implementuar në Java që ju lejon të ekzekutoni aplikacione Flash me shumë përdorues si transmetimi i drejtpërdrejtë

Si të instaloni Apache Cassandra 3.11.x në Ubuntu 16.04 LTS

Si të instaloni Apache Cassandra 3.11.x në Ubuntu 16.04 LTS

Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Si të instaloni Apache Cassandra 3.11.x në CentOS 7

Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë

Si të instaloni Forumin Vanilla në Ubuntu 16.04

Si të instaloni Forumin Vanilla në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? Forumi Vanilla është një aplikacion forumi me burim të hapur i shkruar në PHP. Është plotësisht i personalizueshëm, i lehtë për t'u përdorur dhe mbështet jashtëm

Si të instaloni Kanboard në Ubuntu 18.04 LTS

Si të instaloni Kanboard në Ubuntu 18.04 LTS

Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar

Si të instaloni Kanboard në Debian 9

Si të instaloni Kanboard në Debian 9

Përdorimi i një sistemi të ndryshëm? Hyrje Kanboard është një program softuerik për menaxhimin e projekteve me burim të lirë dhe me burim të hapur, i cili është krijuar për të lehtësuar dhe vizualizuar

Instaloni Lynis në Debian 8

Instaloni Lynis në Debian 8

Hyrje Lynis është një mjet falas, me burim të hapur të auditimit të sistemit, që përdoret nga shumë administratorë të sistemit për të verifikuar integritetin dhe për të forcuar sistemet e tyre. Unë

Si të instaloni Thelia 2.3 në Debian 9

Si të instaloni Thelia 2.3 në Debian 9

Përdorimi i një sistemi të ndryshëm? Thelia është një mjet me burim të hapur për krijimin e faqeve të internetit të e-biznesit dhe menaxhimin e përmbajtjes në internet të shkruar në PHP. Kodi burimor Thelia i

Si të instaloni Microweber në CentOS 7

Si të instaloni Microweber në CentOS 7

Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë

Si të instaloni MODX Revolution në një Ubuntu 16.04 LAMP VPS

Si të instaloni MODX Revolution në një Ubuntu 16.04 LAMP VPS

Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, i lirë dhe me burim të hapur, i shkallës së ndërmarrjes.

Si të instaloni Mattermost 4.1 në CentOS 7

Si të instaloni Mattermost 4.1 në CentOS 7

Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth

Si të instaloni dotCMS në Ubuntu 16.04

Si të instaloni dotCMS në Ubuntu 16.04

Përdorimi i një sistemi të ndryshëm? DotCMS është një sistem menaxhimi i përmbajtjes me burim të hapur, të nivelit të ndërmarrjes, i shkruar në Java. Ai përmban pothuajse çdo veçori të kërkuar

Si të instaloni BigTree CMS në një Fedora 26 LAMP VPS

Si të instaloni BigTree CMS në një Fedora 26 LAMP VPS

Përdorimi i një sistemi të ndryshëm? BigTree CMS 4.2 është një sistem i shpejtë dhe i lehtë, pa pagesë dhe me burim të hapur, sistem i menaxhimit të përmbajtjes së nivelit të ndërmarrjes (CMS) me një

Le të enkriptojmë në Plesk

Le të enkriptojmë në Plesk

Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata

Lejon enkriptimin në cPanel

Lejon enkriptimin në cPanel

Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj

Instaloni Adminer në Debian/Ubuntu

Instaloni Adminer në Debian/Ubuntu

Adminer është një alternativë e lehtë për phpMyAdmin. Në krahasim, madhësia totale e paketës së saj është 400 KB, kundrejt 4.2 MB të phpMyAdmin. Ndryshe nga phpMyAdmin, e cila

Ngritja e makinave: Aplikimet në botën reale të AI

Ngritja e makinave: Aplikimet në botën reale të AI

Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.

Sulmet DDOS: Një përmbledhje e shkurtër

Sulmet DDOS: Një përmbledhje e shkurtër

A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

A e keni pyetur ndonjëherë veten se si fitojnë para hakerët?

Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Shpikjet revolucionare nga Google që do tju bëjnë të lehtë jetën tuaj.

Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

E Premte Thelbësore: Çfarë ndodhi me Makinat e drejtuara nga AI?

Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Singulariteti teknologjik: Një e ardhme e largët e qytetërimit njerëzor?

Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.

Evolucioni i ruajtjes së të dhënave - Infografik

Evolucioni i ruajtjes së të dhënave - Infografik

Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Funksionalitetet e shtresave të arkitekturës së referencës së të dhënave të mëdha

Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

6 Përfitimet e mahnitshme të të pasurit pajisje shtëpiake inteligjente në jetën tonë

Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Përditësimi shtesë i macOS Catalina 10.15.4 po shkakton më shumë probleme sesa zgjidhja

Së fundmi Apple lëshoi ​​macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë