Supervisorin asentaminen ja määrittäminen Ubuntu 16.04:ään

Supervisor on asiakas/palvelinjärjestelmä, jolla ohjataan useita UNIX-prosesseja, tarkemmin sanottuna projektiin tai asiakkaaseen liittyviä prosesseja. Voit esimerkiksi käyttää supervisoria luomaan ja valvomaan mielivaltaisen määrän web-sovelluksesi työntekijöiden jonoja.

Tämän järjestelmän komponentit ovat:

  • supervisor: Järjestelmän palvelinosa.
  • supervisorctl: komentoriviliittymä, jota käytetään vuorovaikutuksessa palvelimen kanssa.
  • Web-palvelin: Yksinkertainen verkkopalvelin ja web-käyttöliittymä, jossa on perustoiminnot verrattuna supervisorctl:ään .
  • XML-RPC-liitäntä: Sama HTTP-palvelin, jota web-asiakas käyttää, palvelee XML-RPC-liitäntää, jota voidaan käyttää valvojan ohjelmien ohjaamiseen.

Tässä opetusohjelmassa asennamme viimeisimmän supervisor-version, näytämme kuinka supervisorctlluodaan ja hallinnoidaan ohjelmia kautta ja määritämme verkkokäyttöliittymän ohjelmiemme hallintaa varten.

Asennus ja peruskonfigurointi

easy_installAsennamme supervisorin kautta , joka on pythonin asennustyökalujen ominaisuus.

Päivitä ensin paikallinen pakettiluettelo ja asenna sitten python setuptools.

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

Nyt voimme asentaa valvojan.

sudo easy_install supervisor

Kun asennus on valmis, meidän on luotava määritystiedostomme. Luo kansio, jonka nimi on supervisorsisällä /etc.

sudo mkdir /etc/supervisor

Ja sitten suorita seuraava.

echo_supervisord_conf >  /etc/supervisor/supervisord.conf

Jos et ole kirjautunut sisään rootkäyttäjällä, saatat saada Permission deniedvirheilmoituksen (jopa sudo). Tämä johtuu uudelleenohjauksesta. Voit voittaa tämän kirjautumalla sisään root-käyttäjänä.

sudo su

Sitten voit suorittaa komennon uudelleen.

echo_supervisord_conf > /etc/supervisor/supervisord.conf

Voit nyt jättää rootkäyttäjälle exitkomennon. echo_supervisord_confKomento tarjosi esimiehemme asennus.

Peruskokoonpano

Avaa /etc/supervisor/supervisord.conftiedosto ja tarkista sen sisältö. Huomaa, että tämä asetustiedosto noudattaa INIsyntaksia, ja se on jaettu osioihin (esitetty suluilla, kuten kohdassa [section-name]).

Jos haluat lisätä ohjelmia valvojan hallittavaksi, meidän tarvitsee vain luoda asianmukaiset [program]osiot. Käytämme [include]osiota kuitenkin, jotta vältytään sekoittamasta pääasetustiedostoa aina, kun meidän on lisättävä (tai muutettava) ohjelmaa . Etsi tämä osio, poista sen kommentti ja muokkaa sitä seuraavan näköiseksi.

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

Nyt jokaiselle ohjelmalle, jonka haluamme lisätä, luomme .initiedoston /etc/supervisor/conf.d/hakemistoon. Luodaan tämä kansio.

sudo mkdir /etc/supervisor/conf.d

Käynnistetään valvojapalvelin

Kuten aiemmin mainittiin, valvoja koostuu palvelimesta ja siihen muodostavista asiakkaista. Jotta voimme hallita ja hallita ohjelmia, meidän on käynnistettävä palvelin. Tätä varten rekisteröimme valvojan palvelimen sisään systemd, jotta palvelin voidaan käynnistää järjestelmän käynnistyksen yhteydessä.

Tehdä niin, luo tiedosto nimeltä supervisord.servicevuonna /etc/systemd/systemhakemistossa.

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

Lisää tiedostoon seuraava sisältö.

[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

Aktivoi valvojapalvelu.

sudo systemctl start supervisord.service

Niin kauan kuin palvelutiedosto sijaitsee /etc/systemd/systemhakemistossa, se käynnistetään automaattisesti järjestelmän käynnistyksen yhteydessä.

Voit tarkistaa palvelun tilan.

systemctl status supervisord.service

Voit myös tarkistaa lokit.

sudo journalctl -u supervisord.service

Ohjelmien lisääminen

Supervisorin ohjaamat ohjelmat annetaan [program]konfiguraation eri osioissa. Jokaiselle ohjelmalle, jota haluamme hallita, luomme erillisen konfigurointitiedoston, joka ilmoittaa komennon suoritettavan polun, mahdolliset ympäristömuuttujat ja kuinka toimia sammutettaessa.

Luodaan ensin yksinkertainen komentosarja, joka kirjaa aikaleiman. Luo tiedosto nimeltä hello_supervisor.sh(missä tahansa haluat, viittaamme tämän skriptin koko polkuun).

touch hello_supervisor.sh

Laita siihen nyt seuraava sisältö

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

Tee siitä nyt suoritettava

chmod +x hello_supervisor.sh

Käytännössä tämä kirjoitus on melko hyödytön. Voimme kuitenkin käyttää sitä osoittamaan valvojan voimaa. Luo vastaava asetustiedosto suorittamalla seuraava.

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

Laita seuraava sisältö tähän tiedostoon.

[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

Huomautus: Muista korvata se USERkäyttäjänimelläsi.

Tarkistamme tämän kokoonpanon vaihe vaiheelta.

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

Ensin konfigurointi alkaa määrittämällä ohjelma, jonka nimi on hello_supervisor . Se ilmoittaa myös suoritettavan suoritettavan tiedoston täyden polun.

autostart=true

Tällä rivillä sanotaan, että tämä ohjelma tulee käynnistää automaattisesti, kun valvoja käynnistetään.

autorestart=true

Jos ohjelma jostain syystä sulkeutuu, tämä rivi kehottaa valvojaa käynnistämään prosessin automaattisesti uudelleen.

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

Nämä rivit määrittävät lokitiedoston sijainnin stderrja stdoutvastaavasti.

Ohjelmien hallinta

Nyt kun olemme asentaneet ja konfiguroineet supervisorin, pystymme hallitsemaan prosessejamme.

Kun olet lisännyt uuden ohjelman, meidän pitäisi suorittaa seuraavat kaksi komentoa, jotta palvelin lukee määritystiedostot uudelleen ja ottamaan käyttöön muutokset.

sudo supervisorctl reread
sudo supervisorctl update

Suorita nyt supervisorctlasiakas.

sudo supervisorctl

Sinua toivotetaan tervetulleeksi luettelolla rekisteröidyistä prosesseista. Näet prosessin, hello_supervisorjossa on RUNNINGtila.

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

Kirjoita helpluettelo käytettävissä olevista komennoista.

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

Lyhyesti sanottuna voimme start, stopja restartohjelmat välittämällä ohjelman nimen argumenttina vastaavalle komennolle.

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> 

Voimme myös katsoa ohjelman tulostetta tailkomennolla.

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

Voit käyttää myös stderrtulostukseen 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!

Kutsumalla statuskomennon voit tarkastella kaikkien rekisteröityjen ohjelmien tilaa.

Kun olet valmis, voit lopettaa.

supervisor> quit

Web-palvelin asiakas

Jos haluat sallia pääsyn valvojan verkkopalvelimeen, avaa valvojan määritystiedosto ja etsi [inet_http_server]osio.

nano /etc/supervisor/supervisord.conf

Päivitä nyt tämän osion kokoonpano seuraavasti.

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

Korvaa your_usernameja your_passwordhaluamillasi tunnistetiedoilla, tallenna muutokset ja käynnistä valvojapalvelu uudelleen.

sudo systemctl restart supervisord.service

Muista sallia palomuurin TCPportin käyttö 9001ja sitten pääsy http://{server-ip}:9001selaimesta. Anna pyydettäessä oma usernameja password. Voit nyt ohjata prosessejasi verkosta.

Johtopäätös

Olemme asentaneet uusimman version supervisordista, oppineet määrittämään sen järjestelmän automaattista käynnistystä varten systemd:llä ja tarkistanut myös :n peruskäytön supervisorctl. Tarkemmat konfigurointi- ja käyttötapaukset löydät virallisesta valvojan dokumentaatiosta .


Asenna Plesk CentOS 7:ään

Asenna Plesk CentOS 7:ään

Käytätkö erilaista järjestelmää? Plesk on patentoitu verkkoisäntäohjauspaneeli, jonka avulla käyttäjät voivat hallita henkilökohtaisia ​​ja/tai asiakkaidensa verkkosivustoja, tietokantoja

Asenna Cacti Debian Jessielle

Asenna Cacti Debian Jessielle

Johdanto Cacti on avoimen lähdekoodin seuranta- ja grafiikkatyökalu, joka perustuu täysin RRD-tietoihin. Cactin kautta voit seurata lähes minkä tahansa tyyppisiä laitteita

Asenna Lets Encrypt SSL One-Click WordPress -sovellukseen

Asenna Lets Encrypt SSL One-Click WordPress -sovellukseen

Johdanto Lets Encrypt on varmenteen myöntäjäpalvelu, joka tarjoaa ilmaisia ​​TLS/SSL-varmenteita. Certbot yksinkertaistaa asennusprosessia,

Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Tekkit Classic -palvelimen määrittäminen Ubuntu 16.10:ssä

Käytätkö erilaista järjestelmää? Mikä on Tekkit Classic? Tekkit Classic on modack peliin, jonka kaikki tuntevat ja rakastavat; Minecraft. Se sisältää joitain ver

Asenna iRedMail Debian Wheezylle

Asenna iRedMail Debian Wheezylle

Käytätkö erilaista järjestelmää? Tämä opetusohjelma näyttää kuinka asennat ryhmätyöohjelman iRedMail uuteen Debian Wheezy -asennukseen. Sinun pitäisi käyttää tarjoilua

Jekyll-blogin luominen Ubuntuun 16.04

Jekyll-blogin luominen Ubuntuun 16.04

Käytätkö erilaista järjestelmää? Jekyll on loistava vaihtoehto WordPressille bloggaamiseen tai sisällön jakamiseen. Se ei vaadi tietokantoja ja se on erittäin helppoa i

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Valvomattomien päivitysten asentaminen Debian 9:ssä (Stretch)

Käytätkö erilaista järjestelmää? Jos ostat Debian-palvelimen, sinulla pitäisi aina olla viimeisimmät tietoturvakorjaukset ja -päivitykset riippumatta siitä, oletko nukkumassa vai ei.

PHP 7.0:n tai PHP 7.1:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

PHP 7.0:n tai PHP 7.1:n asentaminen ja määrittäminen Ubuntu 16.04:ssä

PHP ja siihen liittyvät paketit ovat yleisimmin käytettyjä komponentteja verkkopalvelimen käyttöönotossa. Tässä artikkelissa opimme asentamaan PHP 7.0 tai PHP 7.1 o

Kuinka asentaa Squid Proxy CentOS:ään

Kuinka asentaa Squid Proxy CentOS:ään

Squid on suosittu, ilmainen Linux-ohjelma, jonka avulla voit luoda edelleenlähetysverkkovälityspalvelimen. Tässä oppaassa näet, kuinka Squid asennetaan CentOS:ään kääntääksesi sinut

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Lighttpd:n (LLMP Stack) asentaminen CentOS 6:een

Johdanto Lighttpd on Apachen haarukka, jonka tarkoituksena on olla paljon vähemmän resurssiintensiivinen. Se on kevyt, tästä syystä sen nimi, ja on melko yksinkertainen käyttää. Asenna

Kolme ilmaista palvelinohjauspaneelia (pikaasennus)

Kolme ilmaista palvelinohjauspaneelia (pikaasennus)

1. Virtualmin/Webmin Virtualmin on tehokas ja joustava web-hosting-ohjauspaneeli Linux- ja UNIX-järjestelmille, joka perustuu tunnettuun avoimen lähdekoodin verkkotietokantaan

Yii-sovelluksen määrittäminen Ubuntuun 14.04

Yii-sovelluksen määrittäminen Ubuntuun 14.04

Yii on PHP-kehys, jonka avulla voit kehittää sovelluksia nopeammin ja helpommin. Yiin asentaminen Ubuntuun on yksinkertaista, kuten opit tarkalleen

Näytön käyttö Ubuntu 14.04:ssä

Näytön käyttö Ubuntu 14.04:ssä

Screen on sovellus, joka mahdollistaa usean pääteistuntojen käytön yhdessä ikkunassa. Tämän avulla voit simuloida useita pääteikkunoita, joissa se ma

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Asenna oma DNS-palvelin Debianissa/Ubuntussa

Tämä opetusohjelma selittää, kuinka DNS-palvelin määritetään Bind9:n avulla Debianissa tai Ubuntussa. Korvaa koko artikkelin ajan verkkotunnuksesi-nimi.com vastaavasti. klo th

Logrotaten käyttäminen lokitiedostojen hallintaan

Logrotaten käyttäminen lokitiedostojen hallintaan

Johdanto Logrotate on Linux-apuohjelma, joka yksinkertaistaa lokitiedostojen hallintaa. Se toimii yleensä kerran päivässä cron-työn kautta ja hallitsee lokipohjaa

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

Staattisen verkon ja IPv6:n määrittäminen CentOS 7:ssä

VULTR on äskettäin tehnyt muutoksia heidän omiinsa, ja kaiken pitäisi nyt toimia hyvin heti, kun NetworkManager on käytössä. Jos haluat poistaa käytöstä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2:n muokkaaminen käyttämään pää/asiakasmallia CentOS 6:ssa tai CentOS 7:ssä

Icinga2 on tehokas valvontajärjestelmä, ja master-client-mallissa käytettynä se voi korvata NRPE-pohjaisten valvontatarkastusten tarpeen. Pääasiakas

Asenna Red5 Media Server Ubuntu 16.04:ään

Asenna Red5 Media Server Ubuntu 16.04:ään

Käytätkö erilaista järjestelmää? Red5 on Java-kielellä toteutettu avoimen lähdekoodin mediapalvelin, jonka avulla voit ajaa Flash-monikäyttäjäsovelluksia, kuten suoratoistoa.

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Käännä ja asenna Nginx PageSpeed-moduulilla Debian 8:ssa

Tässä artikkelissa näemme, kuinka Nginx-päälinja voidaan kääntää ja asentaa virallisista Nginx-lähteistä PageSpeed-moduulilla, jonka avulla voit

Apache Cassandra 3.11.x:n asentaminen Ubuntu 16.04 LTS:ään

Apache Cassandra 3.11.x:n asentaminen Ubuntu 16.04 LTS:ään

Käytätkö erilaista järjestelmää? Apache Cassandra on ilmainen ja avoimen lähdekoodin NoSQL-tietokannan hallintajärjestelmä, joka on suunniteltu tarjoamaan skaalautuvuutta, hig.

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja