HAProxy 1.7:n asentaminen Debian 9.1:een (Stretch)

HAProxy on verkkosovellus, joka tarjoaa korkean käytettävyyden, kuormituksen tasapainotuksen ja välityspalvelimen TCP- ja HTTP-verkkosovelluksille. Se sopii suuren liikenteen verkkosivustoille, ja se toimii monilla suosituilla sivustoilla verkossa. Tämä artikkeli näyttää, kuinka HAProxy asennetaan ja määritetään Debian 9.1:ssä.

Vaikka HAProxylla on useita merkittäviä ominaisuuksia, tässä artikkelissa keskitytään siihen, kuinka HAProxy asetetaan "välityspalvelimeksi" verkkosovelluksellesi.

Vaatimukset

  • Vähintään kaksi Vultr-palvelinta (kuormituksen tasaustoimintoa varten), joissa molemmissa on käytössä verkkosivustosi tai verkkosovellus.

HAProxyn asennus

Debian 9 toimitetaan jo HAProxy 1.7:n kanssa (viimeisin vakaa julkaisu kirjoitettaessa), ja voimme yksinkertaisesti asentaa sen käyttämällä apt-get:

# apt-get update
# apt-get install haproxy

Jos aiemmat komennot onnistuivat, olet asentanut HAProxyn ja voit siirtyä seuraavaan vaiheeseen.

HAProxyn määrittäminen

HAProxy-määritystiedosto on jaettu kahteen osaan - "globaali" ja "välityspalvelimet". Yksi käsittelee prosessinlaajuista määritystä, kun taas jälkimmäinen koostuu oletuskokoonpano-, käyttöliittymä- ja taustaosista.

Globaali osasto

Avaa suosikkitekstieditorillasi /etc/haproxy/haproxy.cfgja huomaa ennalta määritetyt osiot: "global" ja "defaults". Ensimmäinen asia, jonka saatat haluta tehdä, on suurentaa maxconnkohtuulliseen kokoon, koska tämä vaikuttaa HAProxyn sallimiin yhteyksiin. Liian monta yhteyttä voi aiheuttaa verkkopalvelusi kaatumisen monien pyyntöjen takia. Sinun on säädettävä kokoa nähdäksesi, mikä sopii sinulle. Globaalissa osiossa olemme valinneet maxconnarvon 3072.

global
    daemon
    maxconn 3072

Lisää oletusosioon seuraava rivi tilan alle http:

option forwardfor

Tämä lisää X-Forwarded-Forotsikot jokaiseen pyyntöön, jolloin taustapalvelimesi voivat oppia käyttäjän alkuperäisen IP-osoitteen.

Lisää tämä rivi myös ottaaksesi HTTP-yhteyden sulkemistilan käyttöön palvelinpuolella samalla, kun säilytät HTTP:n ylläpitämisen tuen asiakaspuolella. Tämä vähentää viivettä asiakaspuolella ja auttaa säästämään palvelinresursseja:

option http-server-close

Jos haluat käyttää keep-alivea sekä asiakas- että palvelinpuolella, voit käyttää option http-keep-alivesen sijaan. Tämä vaihtoehto on erityisen hyödyllinen, kun uuden yhteyden muodostaminen palvelimeen on merkittävä verrattuna pyydetyn resurssin noutamiseen.

Lopuksi tuloksena oleva asetustiedosto näyttää suunnilleen tältä:

defaults
    mode http
    option forwardfor
    option http-server-close
    timeout connect 5000ms
    timeout client 50000ms
    timeout server 50000ms

Välityspalvelimet-osio

Jotta voit määrittää välityspalvelimen, sinun on lisättävä määritystiedostoon kaksi osaa määrittääksesi välityspalvelimen kaksi osaa: käyttöliittymä ja taustaosa.

Käyttöliittymän asetukset

Käyttöliittymä käsittelee HTTP-yhteytesi. Lisää haproxy.cfgtiedostosi loppuun seuraava :

frontend http-frontend
    bind public_ip:80
    reqadd X-Forwarded-Proto:\ http
    default_backend wwwbackend

Muista vaihtaa public_ippalvelimesi julkiseen IP-osoitteeseen tai verkkotunnukseen.

Taustajärjestelmän asetukset

Määritä taustajärjestelmäsi lisäämällä seuraavat rivit määritystiedoston loppuun:

backend wwwbackend
    server 1-www server1_ip:80 check
    server 2-www server2_ip:80 check
    server 3-www server3_ip:80 check

Tässä käytetty taustakonfiguraatio luo 3 yhteyttä nimeltä X-www. ( Xon 1, 2 tai 3.) Jokainen niistä vastaa serverX_ip:80 osoitetta. (Korvaa serverX_ipVultr-esiintymiesi IP-osoitteilla.) Tämän avulla voit tasapainottaa määritetyn palvelinjoukon kunkin palvelimen välillä (olettaen, että jokainen IP-osoite vastaa eri palvelinta). Tämä checkvaihtoehto saa kuormantasaajan suorittamaan palvelimen kuntotarkistuksia.

Tallenna asetustiedosto ja käynnistä HAProxy uudelleen:

service haproxy restart

Jos kaikki toimii, voit muodostaa yhteyden http://public_ip/(korvaamalla sen julkisella IP-osoitteellasi tai verkkotunnuksellasi käyttöliittymävaiheessa määritetyllä tavalla) ja tarkastella verkkosivustoasi.

Vianetsintävirheet

Jos HAProxy-esiintymäsi kieltäytyy käynnistymästä muutosten jälkeen, sinulla on todennäköisesti virhe jossain asetustiedostossa. Saadaksesi selkeät viestit ongelmasta määritystiedostoon, voit yrittää käynnistää HAProxyn manuaalisesti tällä komennolla:

# haproxy -f /etc/haproxy/haproxy.cfg

Jos näet esimerkiksi seuraavanlaisen tulosteen:

[ALERT] 234/195612 (2561) : parsing [/etc/haproxy/haproxy.cfg:48] : server 1-www has neither service port nor check port nor tcp_check rule 'connect' with port information. Check has been disabled.
[ALERT] 234/195612 (2561) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 234/195612 (2561) : Fatal errors found in configuration.

Sitten olet unohtanut määrittää palvelimen portin numeron 1-www.

Jätä kommentti

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.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

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

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.

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