Installere HAProxy 1.7 på Debian 9.1 (Stretch)

HAProxy er en nettverksprogramvare som tilbyr høy tilgjengelighet, lastbalansering og proxying for TCP- og HTTP-nettverksapplikasjoner. Den er egnet for nettsteder med høy trafikk, og driver mange populære nettsteder på nettet. Denne artikkelen vil vise deg hvordan du installerer og konfigurerer HAProxy på Debian 9.1.

Selv om HAProxy har flere fremtredende funksjoner, fokuserer denne artikkelen på hvordan du konfigurerer HAProxy til å "proxy" nettapplikasjonen din.

Krav

  • Minst to Vultr-servere (for lastbalanseringsfunksjonalitet) med nettstedet ditt eller nettapplikasjonen din distribuert til begge.

Installerer HAProxy

Debian 9 leveres allerede med HAProxy 1.7 (siste stabile utgivelse i skrivende stund), og vi kan ganske enkelt installere den ved å bruke apt-get:

# apt-get update
# apt-get install haproxy

Hvis de forrige kommandoene var vellykkede, har du installert HAProxy og du kan fortsette til neste trinn.

Konfigurering av HAProxy

HAProxy-konfigurasjonsfilen er delt opp i to seksjoner - "global" og "proxies". Den ene omhandler prosess-omfattende konfigurasjon, mens sistnevnte består av standardkonfigurasjon, frontend og backend-seksjoner.

Global seksjon

Bruk favoritttekstredigeringsprogrammet ditt, åpne /etc/haproxy/haproxy.cfgog legg merke til de forhåndsdefinerte delene: "global" og "standard". Det første du kanskje vil gjøre er å øke maxconntil en rimelig størrelse, da dette påvirker tilkoblingene som HAProxy tillater. For mange tilkoblinger kan føre til at nettjenesten din krasjer på grunn av mange forespørsler. Du må justere størrelsen for å se hva som fungerer for deg. I den globale delen har vi valgt en maxconnverdi på 3072.

global
    daemon
    maxconn 3072

I standarddelen legger du til følgende linje under modus http:

option forwardfor

Dette vil legge til X-Forwarded-Foroverskrifter til hver forespørsel, som lar backend-serverne dine lære brukerens opprinnelige IP-adresse.

Legg også til denne linjen for å aktivere HTTP-tilkoblingslukkingsmodus på serversiden mens du beholder muligheten til å støtte HTTP Keep-alive på klientsiden. Dette reduserer ventetiden på klientsiden og bidrar til å spare serverressurser:

option http-server-close

Hvis du ønsker å bruke keep-alive på både klient- og serversiden, kan du bruke i option http-keep-alivestedet. Dette alternativet er spesielt nyttig når kostnaden for å etablere en ny tilkobling til serveren er betydelig sammenlignet med kostnaden for å hente den forespurte ressursen.

Til slutt vil den resulterende konfigurasjonsfilen se omtrent slik ut:

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

Fullmaktsseksjonen

For å sette opp proxyen din, må du legge til to seksjoner i konfigurasjonsfilen for å definere de to delene av proxyen: frontend og backend.

Frontend-konfigurasjon

Frontend vil håndtere HTTP-tilkoblingene dine. Legg til følgende på slutten av haproxy.cfgfilen:

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

Pass på å erstatte public_ipmed serverens offentlige IP-adresse eller domenenavn.

Backend-konfigurasjon

Sett opp backend ved å legge til følgende linjer på slutten av konfigurasjonsfilen:

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

Backend-konfigurasjonen som brukes her oppretter 3 tilkoblinger som heter X-www. ( Xer 1, 2 eller 3.) Hver av dem tilsvarer en serverX_ip:80 adresse. (Erstatt serverX_ipmed IP-adressene til Vultr-forekomstene.) Dette vil tillate deg å laste balanse mellom hver server i det angitte serversettet (forutsatt at hver IP-adresse tilsvarer en annen server). Det checkalternativet gjør lastbalansering utføre helsekontroller på serveren.

Lagre konfigurasjonsfilen, og start deretter HAProxy på nytt:

service haproxy restart

Hvis alt fungerer, vil du kunne koble til http://public_ip/(erstatte det med din offentlige IP- eller domenenavn som konfigurert i frontend-trinnet) og se nettstedet ditt.

Feilsøkingsfeil

Hvis HAProxy-forekomsten din nekter å starte etter endringene dine, er sjansen stor for at du har en feil et sted i konfigurasjonsfilen. For å få klare meldinger om problemet i konfigurasjonsfilen, kan du prøve å starte HAProxy manuelt ved å bruke denne kommandoen:

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

For eksempel, hvis du ser utdata som dette:

[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.

Da har du glemt å spesifisere portnummeret for serveren 1-www.


Sett opp Cacti på Debian Jessie

Sett opp Cacti på Debian Jessie

Introduksjon Cacti er et åpen kildekode overvåkings- og grafverktøy som er fullt basert på RRD-data. Gjennom Cacti kan du overvåke nesten alle typer enheter

Sett opp iRedMail på Debian Wheezy

Sett opp iRedMail på Debian Wheezy

Bruker du et annet system? Denne opplæringen viser deg hvordan du installerer gruppevaren iRedMail på en ny installasjon av Debian Wheezy. Du bør bruke en serve

Slik konfigurerer du uovervåkede oppgraderinger på Debian 9 (Stretch)

Slik konfigurerer du uovervåkede oppgraderinger på Debian 9 (Stretch)

Bruker du et annet system? Hvis du kjøper en Debian-server, bør du alltid ha de nyeste sikkerhetsoppdateringene og oppdateringene, enten du sover eller ikke

Sett opp din egen DNS-server på Debian/Ubuntu

Sett opp din egen DNS-server på Debian/Ubuntu

Denne opplæringen forklarer hvordan du setter opp en DNS-server ved å bruke Bind9 på Debian eller Ubuntu. Bytt ut ditt-domenenavn.com gjennom hele artikkelen. På th

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

Kompiler og installer Nginx med PageSpeed-modulen på Debian 8

I denne artikkelen vil vi se hvordan du kompilerer og installerer Nginx mainline fra de offisielle kildene til Nginx med PageSpeed-modulen, som lar deg t

Hvordan installere Kanboard på Debian 9

Hvordan installere Kanboard på Debian 9

Bruker du et annet system? Introduksjon Kanboard er et gratis og åpen kildekodeprogram for prosjektledelse som er designet for å forenkle og visualisere

Hvordan installere Gitea på Debian 9

Hvordan installere Gitea på Debian 9

Bruker du et annet system? Gitea er et alternativt åpen kildekode, selvdrevet versjonskontrollsystem drevet av Git. Gitea er skrevet på Golang og er

Installer Lynis på Debian 8

Installer Lynis på Debian 8

Introduksjon Lynis er et gratis systemrevisjonsverktøy med åpen kildekode som brukes av mange systemadministratorer for å verifisere integriteten og herde systemene deres. Jeg

Hvordan installere Thelia 2.3 på Debian 9

Hvordan installere Thelia 2.3 på Debian 9

Bruker du et annet system? Thelia er et åpen kildekodeverktøy for å lage e-business-nettsteder og administrere nettinnhold skrevet i PHP. Thelia kildekode i

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

Hvordan installere Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Hvordan installere Golang 1.8.3 på CentOS 7, Ubuntu 16.04 og Debian 9

Golang er et programmeringsspråk utviklet av Google. Takket være sin allsidighet, enkelhet og pålitelighet har Golang blitt en av de mest populære

Tilbakestill MySQL Root-passord på Debian/Ubuntu

Tilbakestill MySQL Root-passord på Debian/Ubuntu

Hvis du har glemt MySQL root-passordet ditt, kan du tilbakestille det ved å følge trinnene i denne artikkelen. Prosessen er ganske enkel og fungerer på disse

Opprette nettverksandeler ved å bruke Samba på Debian

Opprette nettverksandeler ved å bruke Samba på Debian

Det er tider når vi trenger å dele filer som må være synlige for Windows-klienter. Siden Fuse-baserte systemer bare fungerer på Linux, bør du introdusere

Sette opp Counter Strike: Source på Debian

Sette opp Counter Strike: Source på Debian

I denne veiledningen skal vi sette opp en Counter Strike: Source-spillserver på Debian 7. Disse kommandoene ble testet på Debian 7, men de bør også fungere o

Hvordan installere Unturned 2.2.5 på Debian 8

Hvordan installere Unturned 2.2.5 på Debian 8

I denne veiledningen lærer du hvordan du setter opp en Unturned 2.2.5-server på en Vultr VPS som kjører Debian 8. Merk: Dette er en redigert versjon av Unturned som ikke

Hvordan installere Cachet på Debian 8

Hvordan installere Cachet på Debian 8

I denne opplæringen lærer du hvordan du installerer Cachet på Debian 8. Cachet er et kraftig åpen kildekode-statussidesystem. Installasjon Denne opplæringen er i gang

Sikkerhetskopier flere MySQL- eller MariaDB-databaser automatisk

Sikkerhetskopier flere MySQL- eller MariaDB-databaser automatisk

Introduksjon I denne artikkelen kan du gå gjennom hvordan du sikkerhetskopierer flere MySQL- eller MariaDB-databaser som sitter på samme maskin ved hjelp av et tilpasset bash-skript

Sette opp en Chroot på Debian

Sette opp en Chroot på Debian

Denne artikkelen vil lære deg hvordan du setter opp et chroot-fengsel på Debian. Jeg antar at du bruker Debian 7.x. Hvis du kjører Debian 6 eller 8, kan dette fungere, men

Hvordan installere Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Hvordan installere Reader Self 3.5 RSS Reader på en Debian 9 LAMP VPS

Bruker du et annet system? Reader Self 3.5 er en enkel og fleksibel, gratis og åpen kildekode, selvhostet RSS-leser og Google Reader-alternativ. Leser Sel

Hvordan installere Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Hvordan installere Backdrop CMS 1.8.0 på en Debian 9 LAMP VPS

Bruker du et annet system? Backdrop CMS 1.8.0 er et enkelt og fleksibelt, mobilvennlig, gratis og åpen kildekode Content Management System (CMS) som lar oss

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer