Supervisor instalēšana un konfigurēšana Ubuntu 16.04

Supervisor ir klienta/servera sistēma, ko izmanto, lai kontrolētu vairākus UNIX procesus, konkrētāk, procesus, kas saistīti ar projektu vai klientu. Piemēram, varat izmantot supervizoru, lai izveidotu un pārraudzītu patvaļīgu skaitu savas tīmekļa lietojumprogrammas darbinieku rindas.

Šīs sistēmas sastāvdaļas ir:

  • supervisor: sistēmas servera daļa.
  • supervisorctl: komandrindas interfeiss, ko izmanto, lai mijiedarbotos ar serveri.
  • Tīmekļa serveris: vienkāršs tīmekļa serveris un tīmekļa lietotāja interfeiss ar pamata funkcionalitāti salīdzinājumā ar supervisorctl .
  • XML-RPC interfeiss: tas pats HTTP serveris, ko izmanto tīmekļa klients, apkalpo XML-RPC interfeisu, ko var izmantot, lai kontrolētu uzraudzības programmas.

Šajā apmācībā mēs instalēsim visjaunāko supervizora versiju, parādīsim, kā izveidot un pārvaldīt programmas, izmantojot supervisorctl, un konfigurēsim tīmekļa saskarni, lai pārvaldītu mūsu programmas.

Uzstādīšana un pamata konfigurācija

Mēs instalēsim supervizoru, izmantojot easy_installpython iestatīšanas rīku līdzekli.

Vispirms atjauniniet vietējo pakotņu sarakstu un pēc tam instalējiet python setuptools.

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

Tagad mēs varam uzstādīt supervizoru.

sudo easy_install supervisor

Kad instalēšana ir pabeigta, mums ir jāģenerē mūsu konfigurācijas fails. Izveidojiet mapi ar nosaukumu supervisoriekšpusē /etc.

sudo mkdir /etc/supervisor

Un pēc tam izpildiet tālāk norādīto.

echo_supervisord_conf >  /etc/supervisor/supervisord.conf

Ja neesat pieteicies ar rootlietotāju, var tikt parādīts Permission deniedkļūdas ziņojums (pat ar sudo). Tas ir saistīts ar novirzīšanu. Lai to novērstu, piesakieties kā root.

sudo su

Pēc tam jūs varat palaist komandu vēlreiz.

echo_supervisord_conf > /etc/supervisor/supervisord.conf

Tagad varat atstāt rootlietotāju ar exitkomandu. echo_supervisord_confKomanda sniedza mūsu vadītājs uzstādīšana.

Pamatkonfigurācija

Atveriet /etc/supervisor/supervisord.conffailu un pārbaudiet tā saturu. Ņemiet vērā, ka šis konfigurācijas fails ievēro INIsintakse un ir sadalīts sadaļās (attēlotas ar iekavām, kā parādīts [section-name]).

Lai pievienotu programmas, kuras pārvalda vadītājs, mums vienkārši jāizveido atbilstošās [program]sadaļas. Tomēr, lai izvairītos no nejaukšanās ar galveno konfigurācijas failu katru reizi, kad mums ir jāpievieno (vai jāmaina) programma, mēs izmantosim [include]sadaļu. Atrodiet šo sadaļu, noņemiet komentārus un pēc tam rediģējiet to, lai tā izskatītos šādi.

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

Tagad katrai programmai, kuru vēlamies pievienot, mēs direktorijā izveidosim .inifailu /etc/supervisor/conf.d/. Izveidosim šo mapi.

sudo mkdir /etc/supervisor/conf.d

Uzrauga servera palaišana

Kā minēts iepriekš, uzraugs sastāv no servera un klientiem, kas ar to izveido savienojumu. Lai varētu pārvaldīt un kontrolēt programmas, mums ir jāstartē serveris. Lai to izdarītu, mēs reģistrēsim pārrauga serveri systemd, lai serveri varētu palaist sistēmas startēšanas laikā.

Lai to izdarītu, izveidot failu sauc supervisord.servicešajā /etc/systemd/systemdirektorijā.

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

Pievienojiet failam šādu saturu.

[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

Aktivizējiet pārrauga pakalpojumu.

sudo systemctl start supervisord.service

Kamēr pakalpojuma fails atrodas /etc/systemd/systemdirektorijā, tas tiks automātiski palaists sistēmas startēšanas laikā.

Jūs varat pārbaudīt pakalpojuma statusu.

systemctl status supervisord.service

Varat arī pārbaudīt žurnālus.

sudo journalctl -u supervisord.service

Programmu pievienošana

Programmas, ko kontrolē supervizors, ir norādītas dažādās [program]konfigurācijas sadaļās. Katrai programmai, kuru vēlamies pārvaldīt, mēs izveidosim atsevišķu konfigurācijas failu, kas informēs komandas izpildāmo ceļu, vides mainīgos, kā rīkoties izslēgšanas gadījumā.

Vispirms izveidosim vienkāršu skriptu, kas reģistrē laikspiedolu. Izveidojiet failu ar nosaukumu hello_supervisor.sh(kur vien vēlaties, mēs norādīsim pilnu šī skripta ceļu).

touch hello_supervisor.sh

Tagad ievietojiet tajā šādu saturu

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

Tagad padariet to izpildāmu

chmod +x hello_supervisor.sh

Praktiski šis skripts ir diezgan bezjēdzīgs. Tomēr mēs varam to izmantot, lai demonstrētu uzrauga spēku. Izveidojiet atbilstošo konfigurācijas failu, izpildot tālāk norādīto.

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

Tagad ievietojiet šajā failā šādu saturu.

[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

Piezīme. Noteikti aizstājiet USERar savu lietotājvārdu.

Mēs soli pa solim pārskatīsim šo konfigurāciju.

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

Pirmkārt, konfigurācija sākas, definējot programmu ar nosaukumu hello_supervisor . Tas arī informē pilnu izpildāmā faila ceļu.

autostart=true

Šajā rindiņā ir norādīts, ka šī programma ir jāsāk automātiski, kad tiek startēts supervisor.

autorestart=true

Ja programma kāda iemesla dēļ tiek aizvērta, šī rindiņa informē vadītāju, lai automātiski restartētu procesu.

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

Šīs rindas attiecīgi nosaka žurnālfaila atrašanās vietu stderrun stdout.

Programmu pārvaldība

Tagad, kad esam uzstādījuši un konfigurējuši supervizoru, varam pārvaldīt savus procesus.

Pēc jaunas programmas pievienošanas mums vajadzētu palaist šādas divas komandas, lai informētu serveri, lai tas atkārtoti izlasītu konfigurācijas failus un piemērotu visas izmaiņas.

sudo supervisorctl reread
sudo supervisorctl update

Tagad izpildiet supervisorctlklientu.

sudo supervisorctl

Jūs sagaidīs reģistrēto procesu saraksts. Jūs redzēsit procesu, kas izsaukts hello_supervisorar RUNNINGstatusu.

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

Ievadiet helppieejamo komandu sarakstu.

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

Īsāk sakot, mēs varam start, stopun restartprogrammas, nododot programmas nosaukumu kā argumentu attiecīgajai 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> 

Mēs varam arī apskatīt programmas izvadi ar tailkomandu.

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

Par stderrizejas, jūs varat izmantot tailkā labi.

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!

Izsaucot statuskomandu, var apskatīt visu reģistrēto programmu statusu.

Kad esat pabeidzis, varat beigt.

supervisor> quit

Tīmekļa servera klients

Lai atļautu piekļuvi pārrauga tīmekļa serverim, atveriet uzrauga konfigurācijas failu un atrodiet [inet_http_server]sadaļu.

nano /etc/supervisor/supervisord.conf

Tagad atjauniniet šīs sadaļas konfigurāciju ar tālāk norādīto.

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

Nomainiet your_usernameun your_passwordar vēlamajiem akreditācijas datiem, saglabājiet modifikācijas un restartējiet uzrauga pakalpojumu.

sudo systemctl restart supervisord.service

Atcerieties atļaut TCPpiekļuvi 9001ugunsmūra portam un pēc tam piekļūt http://{server-ip}:9001no pārlūkprogrammas. Kad tiek prasīts, norādiet savu usernameun password. Tagad varat kontrolēt savus procesus no tīmekļa.

Secinājums

Mēs esam instalējuši visjaunāko supervisord versiju, iemācījušies to konfigurēt sistēmas automātiskai palaišanai ar systemd, kā arī pārskatījuši pamata lietojumu supervisorctl. Lai uzzinātu vairāk par konfigurācijas un lietošanas gadījumiem, varat skatīt oficiālo uzrauga dokumentāciju .


Instalējiet Plesk operētājsistēmā CentOS 7

Instalējiet Plesk operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Plesk ir patentēts tīmekļa mitinātāja vadības panelis, kas ļauj lietotājiem administrēt savas personīgās un/vai klientu vietnes, datu bāzes

Iestatiet Cacti vietnē Debian Jessie

Iestatiet Cacti vietnē Debian Jessie

Ievads Cacti ir atvērtā koda uzraudzības un grafiku veidošanas rīks, kas pilnībā ir balstīts uz RRD datiem. Izmantojot Cacti, varat pārraudzīt gandrīz jebkura veida ierīces

Instalējiet Lets Encrypt SSL WordPress lietotnē ar vienu klikšķi

Instalējiet Lets Encrypt SSL WordPress lietotnē ar vienu klikšķi

Ievads Lets Encrypt ir sertifikācijas iestādes pakalpojums, kas piedāvā bezmaksas TLS/SSL sertifikātus. Instalēšanas procesu vienkāršo Certbot,

Kā iestatīt Tekkit Classic serveri Ubuntu 16.10

Kā iestatīt Tekkit Classic serveri Ubuntu 16.10

Vai izmantojat citu sistēmu? Kas ir Tekkit Classic? Tekkit Classic ir modifikācija spēlei, kuru visi zina un mīl; Minecraft. Tajā ir daži no ver

Iestatiet iRedMail vietnē Debian Wheezy

Iestatiet iRedMail vietnē Debian Wheezy

Vai izmantojat citu sistēmu? Šī apmācība parādīs, kā instalēt grupas programmu iRedMail jaunā Debian Wheezy instalācijā. Jums vajadzētu izmantot servi

Jekyll emuāra izveide Ubuntu 16.04

Jekyll emuāra izveide Ubuntu 16.04

Vai izmantojat citu sistēmu? Jekyll ir lieliska alternatīva WordPress emuāru rakstīšanai vai satura kopīgošanai. Tam nav nepieciešamas nekādas datu bāzes, un tas ir ļoti vienkārši

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Kā iestatīt neuzraudzītus jauninājumus Debian 9 (Stretch)

Vai izmantojat citu sistēmu? Ja iegādājaties Debian serveri, jums vienmēr ir jābūt jaunākajiem drošības ielāpiem un atjauninājumiem neatkarīgi no tā, vai jūs guļat vai ne.

Kā instalēt un konfigurēt PHP 7.0 vai PHP 7.1 Ubuntu 16.04

Kā instalēt un konfigurēt PHP 7.0 vai PHP 7.1 Ubuntu 16.04

PHP un saistītās pakotnes ir visbiežāk izmantotie komponenti, izvietojot tīmekļa serveri. Šajā rakstā mēs uzzināsim, kā iestatīt PHP 7.0 vai PHP 7.1 o

Kā instalēt Squid starpniekserveri CentOS

Kā instalēt Squid starpniekserveri CentOS

Squid ir populāra bezmaksas Linux programma, kas ļauj izveidot pāradresācijas tīmekļa starpniekserveri. Šajā rokasgrāmatā jūs redzēsit, kā instalēt Squid uz CentOS, lai jūs pārvērstu

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Ievads Lighttpd ir Apache dakša, kuras mērķis ir daudz mazāk resursietilpīgs. Tas ir viegls, tāpēc arī tā nosaukums ir diezgan vienkārši lietojams. Instalēšana

Trīs bezmaksas servera vadības paneļi (ātrā instalēšana)

Trīs bezmaksas servera vadības paneļi (ātrā instalēšana)

1. Virtualmin/Webmin Virtualmin ir jaudīgs un elastīgs tīmekļa mitināšanas vadības panelis Linux un UNIX sistēmām, pamatojoties uz labi zināmo atvērtā pirmkoda tīmekļa bāzi

Yii lietojumprogrammas iestatīšana Ubuntu 14.04

Yii lietojumprogrammas iestatīšana Ubuntu 14.04

Yii ir PHP ietvars, kas ļauj ātrāk un vienkāršāk izstrādāt lietojumprogrammas. Yii instalēšana Ubuntu ir vienkārša, jo jūs to uzzināsit precīzi

Ekrāna izmantošana Ubuntu 14.04

Ekrāna izmantošana Ubuntu 14.04

Ekrāns ir lietojumprogramma, kas ļauj vairākkārt izmantot termināļa sesijas vienā logā. Tas ļauj simulēt vairākus termināļa logus, kur tas ma

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Iestatiet savu DNS serveri vietnē Debian/Ubuntu

Šajā apmācībā ir paskaidrots, kā iestatīt DNS serveri, izmantojot Bind9 uz Debian vai Ubuntu. Visā rakstā attiecīgi aizstājiet savu-domēna-nosaukums.com. plkst

Logrotate izmantošana žurnālfailu pārvaldībai

Logrotate izmantošana žurnālfailu pārvaldībai

Ievads Logrotate ir Linux utilīta, kas vienkāršo žurnālfailu administrēšanu. Tas parasti darbojas reizi dienā, izmantojot cron uzdevumu, un pārvalda žurnālu bāzi

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 ir spēcīga uzraudzības sistēma, un, ja to izmanto galvenā klienta modelī, tā var aizstāt vajadzību pēc NRPE balstītām uzraudzības pārbaudēm. Meistars-klients

Iestatiet Red5 Media Server operētājsistēmā Ubuntu 16.04

Iestatiet Red5 Media Server operētājsistēmā Ubuntu 16.04

Vai izmantojat citu sistēmu? Red5 ir atvērtā pirmkoda multivides serveris, kas ieviests Java un ļauj palaist Flash vairāku lietotāju lietojumprogrammas, piemēram, tiešraides straumēšanu.

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Kompilējiet un instalējiet Nginx ar PageSpeed ​​moduli operētājsistēmā Debian 8

Šajā rakstā mēs redzēsim, kā apkopot un instalēt Nginx galveno līniju no oficiālajiem Nginx avotiem ar PageSpeed ​​moduli, kas ļauj t

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā Ubuntu 16.04 LTS

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā Ubuntu 16.04 LTS

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk