Apache-lakin välimuistin asentaminen CentOS/RHEL 8: een


Varnish Cache on ilmainen avoimen lähdekoodin, moderni ja suorituskykyinen verkkosovelluksen kiihdytin. Se on nopea käänteinen HTTP-välityspalvelin, joka tallentaa välimuistin Web-palvelimen suorituskyvyn nopeuttamiseksi tallentamalla verkkosisältöä palvelimen muistiin - välimuistiin. Se on määritetty toimimaan lähtöpalvelimen, kuten Apache (HTTPD) -palvelimen, edessä.

Kun asiakas pyytää sisältöä, Varnish hyväksyy HTTP-pyynnön, lähettää pyynnön lähtöpalvelimelle, tallentaa välimuistiin palautetut objektit ja vastaa asiakaspyyntöön. Seuraavan kerran, kun asiakas pyytää samaa sisältöä, Varnish näyttää sen välimuistista. Tällä tavoin se vähentää vasteaikaa ja verkon kaistanleveyden kulutusta tulevissa vastaavissa pyynnöissä.

Lakka toimii myös HTTP-pyynnön reitittimenä, verkkosovelluksen palomuurina, kuormituksen tasapainottajana ja muuna. Se on määritetty käyttämällä joustavaa Varnish Configuration Language (VCL) -kieliä, joka on laajennettavissa käyttämällä Varnish Module -moduuleja (tunnetaan myös nimellä VMOD), Edge Side Includes (ESL) -tuki, Gzip-pakkaus ja purku sekä paljon muuta.

Tässä artikkelissa opit, miten Apache HTTPD -verkkopalvelin ja Lakkivälimuisti 6 asennetaan tuoreeseen CentOS/RHEL 8 -palvelimeen, mukaan lukien Varnishin määritys suoritettavaksi HTTPD-palvelimen edessä.

  • Palvelin, jossa on CentOS 8 -asennus
  • Palvelin, jossa järjestelmässäsi on käytössä Red Hat -tilaus.

Vaihe 1: Apache-verkkopalvelimen asentaminen CentOS/RHEL 8: een

1. Aloita päivittämällä kaikki järjestelmään asennetut ohjelmistopaketit seuraavasti käyttämällä DNF-komentoa.

# dnf update

2. Suorita seuraava komento asentaaksesi Apache HTTP -verkkopalvelin AppStream-arkistosta.

# dnf install httpd

3. Heti kun asennus on valmis, käynnistä httpd-palvelu, anna sen käynnistyä automaattisesti järjestelmän käynnistyksen aikana ja tarkista sen tila varmistaaksesi, että se on käynnissä, käyttämällä komentoa systemctl.

# systemctl start httpd
# systemctl enable httpd
# systemctl status httpd

4. CentOS/RHEL 8 sisältää oletusarvoisesti täysin lukitun palomuurin (vahvista suorittamalla palomuuri-cmd-state). Sinun on avattava pääsy palomuurin HTTP-palveluun, jotta käyttäjät voivat käyttää HTTP: n kautta kulkevia verkkosivustoja tai sovelluksia, ja myös ladata palomuuriasetukset uudet muutokset käyttöön.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --reload

Vaihe 2: Asenna Varnish Cache 6.4 CentOS/RHEL 8: een

5. Nyt kun Apache-verkkopalvelin on käynnissä, voit jatkaa Asentaa lakan välimuisti järjestelmään seuraavan komennon avulla.

# dnf module install varnish

6. Onnistuneen asennuksen jälkeen voit tarkistaa järjestelmääsi asennetun Varnish-version.

# varnishd -V

7. Seuraavaksi tärkein suoritettava tiedosto asennetaan nimellä/usr/sbin/varnishd. Lisäksi Lakn-määritystiedostot tallennetaan hakemistoon/etc/varnish, jossa:

  • /etc/varnish/default.vcl - on päälakin kokoonpanotiedosto, joka on kirjoitettu VCL: n avulla.
  • /etc/varnish/secret - on lakan salainen tiedosto.

8. Käynnistä lakkapalvelu nyt, anna sen käynnistyä automaattisesti järjestelmän käynnistyksen yhteydessä, jos palvelin käynnistyy uudelleen, ja tarkista sen tila varmistaaksesi, että se on käynnissä seuraavasti.

# systemctl start varnish
# systemctl enable varnish
# systemctl status varnish

Vaihe 3: Apachen määrittäminen toimimaan lakan välimuistin kanssa

9. Nyt on aika määrittää Varnish-välimuisti toimimaan Apache-palvelun edessä. Oletusarvoisesti Apache-palvelin on määritetty kuuntelemaan portissa 80, tämä määritetään pääasetustiedostossa /etc/httpd/conf/httpd.conf.

Avaa se muokkausta varten suosikkitekstieditorilla.

# vi /etc/httpd/conf/httpd.conf

Etsi Kuuntele-parametri. Jos haluat suorittaa Varnishin Apache-palvelimen edessä, sinun on vaihdettava oletusportti 80 arvoon 8080 (tai mikä tahansa muu valitsemasi portti) seuraavan kuvakaappauksen mukaisesti.

Tämä portti lisätään taustapalvelimen portiksi Varnish-määritystiedostoon myöhemmin.

Lisäksi jokaisen Varnishin kautta palvelevan verkkosivuston/sovelluksen virtuaalinen isäntäkokoonpano on määritettävä kuuntelemaan yllä olevaa porttia. Tässä on testisivustomme kokoonpano (/etc/httpd/conf.d/tecmint.lan.conf).

<VirtualHost *:8080>
    DocumentRoot "/var/www/html/tecmint.lan/"
    ServerName www.tecmint.lan
    # Other directives here
</VirtualHost>

Tärkeää: Voit estää Apache-HTTP-palvelimen oletusarvoisen testisivun käyttämisen koskaan kommentoimalla kaikki tiedoston rivit /etc/httpd/conf.d/welcome.conf tai yksinkertaisesti poistamalla tiedoston.

# rm /etc/httpd/conf.d/welcome.conf 

10. Testaa seuraavaksi httpd-kokoonpanon syntaksissa virheiden varalta. Jos se on OK, käynnistä httpd-palvelu uudestaan, jotta uudet muutokset otetaan käyttöön.

# httpd -t
# systemctl restart httpd

11. Voit asentaa Varnishin HTTPD: n eteen yksinkertaisesti määrittämällä sen kuuntelemaan asiakaspyyntöjä HTTP-oletusportissa 80, kuten alla selitetään.

Huomaa, että Varnish Cache 6.0: ssa ja uudemmissa, sinun on asetettava porttilakkapalvelimen kuuntelut Systemd: n Varnish-palvelutiedostossa. Avaa ensin muokkausta varten.

# systemctl edit --full  varnish

Etsi ExecStart-rivi ja muuta sitten -a -kytkimen (joka määrittelee lakan kuuntele osoitetta ja porttia) arvon arvosta : 6081 arvoon : 80 seuraavan kuvakaappauksen mukaisesti.

Tärkeää on, että jos et määritä osoitetta, varnishd kuuntelee kaikkia käytettävissä olevia IPv4- ja IPv6-liitäntöjä, jotka ovat aktiivisia palvelimella.

ExecStart=/usr/sbin/varnishd -a :80 -f /etc/varnish/default.vcl -s malloc,256m

Tallenna muutokset tiedostoon ja poistu.

12. Nyt sinun on määritettävä lähtöpalvelin, joka tunnetaan Varnish-terminologiassa backendinä. Palvelin ymmärtää HTTP: n, lakka puhuu sisällön noutamiseksi - tässä tapauksessa httpd. Se on määritetty pääasetustiedostossa /etc/varnish/default.vcl.

# vi /etc/varnish/default.vcl 

On oletusarvoinen taustajärjestelmän määritysosa, jota kutsutaan oletukseksi. Voit muuttaa oletusasetukseksi palvelin1 (tai minkä tahansa valitsemasi nimen vastaamaan ympäristöstandardeja). Oletusarvoisesti isäntäparametri osoittaa localhostiin olettaen, että taustapalvelin toimii localhostissa.

Aseta sitten portiksi 8080 (portti, jonka määrittit Apache-virtuaaliaseman määritystiedostossa), kuten kuvakaappaus osoittaa.

backend server1 {
    .host = "127.0.0.1";
    .port = "8080";
}

Jos taustapalvelimesi toimii eri isännällä, esimerkiksi toisella palvelimella, jonka osoite on 10.42.1.10, isäntäparametrin tulisi osoittaa tähän IP-osoitteeseen.

backend server1 {
    .host = "10.42.1.10";
    .port = "8080";
}

Tallenna tiedosto ja sulje se.

13. Kun olet tehnyt kaikki tarvittavat lakkausta koskevat muutokset, lataa systemd manager -määritykset uudelleen vastaamaan uusia muutoksia Varnish-palvelutiedostossa ja käynnistä Varnish-palvelu myös uudestaan yleisten muutosten toteuttamiseksi.

# systemctl daemon-reload
# systemctl restart varnish

14. Tässä vaiheessa Varnishin ja Apachen pitäisi nyt kuunnella vastaavasti portteja 80 ja 8080. Voit vahvistaa tämän pistorasiatilastokomennolla.

# ss -tpln

Vaihe 4: Testaa lakan välimuisti ja Apache-asetukset

14. Voit testata Varnish Cache-HTTPD -asennuksen avaamalla verkkoselaimen ja siirtymällä palvelimen IP: n tai FQDN: n avulla seuraavan kuvakaappauksen mukaisesti.

http://10.42.0.144
OR
http://www.tecmin.lan

Tarkista sitten, tarjoillaanko verkkosivuja Lakkivälimuistin kautta seuraavasti. Tarkista HTTP-otsikot napsauttamalla hiiren kakkospainikkeella näkyvää verkkosivua, avaa kehittäjätyökalut valitsemalla Tarkasta, napsauta sitten Verkko-välilehteä ja lataa sivu uudelleen. Sitten valitse pyyntö tarkastella HTTP-otsikoita vahvistaaksesi tämän seuraavan kuvakaappauksen mukaisesti.

Vaihtoehtoisesti voit suorittaa seuraavan käpristyskomennon sen vahvistamiseksi.

# curl -I http:///10.42.0.144
OR
#curl -I http:///www.tecmint.lan

Hyödylliset Varnish Cache Utility -ohjelmat

15. Lopetetaan tämä opas tarkastelemalla joitain hyödyllisiä ohjelmia, jotka Varnish Cache -jakelussa on mukana. Ne sisältävät apuohjelmia lakan välimuistin hallintaan, yksityiskohtaisten lokitietueiden näyttämiseen ja lakan suorituskykytilastojen tarkastelemiseen alla kuvatulla tavalla.

Ensimmäinen on varnishadm, jota käytetään käynnissä olevan lakan esiintymän hallinnointiin. Se muodostaa komentoriviliitännän yhteyden lakaan. Se voi vaikuttaa käynnissä olevaan Varnish-esiintymään käynnistämällä ja pysäyttämällä varnishd: n, muuttamalla kokoonpanoparametreja, lataamalla VCL: n uudelleen, lisäämällä taustatietoja ja paljon muuta.

# varnishadm
> backend.list

Lisätietoja on artikkelissa man varnishadm.

Seuraava ohjelma on varnishlog, jota käytetään pyyntökohtaisten tietojen (eli tietojen saamiseen tietyistä asiakkaista ja pyynnöistä) saamiseksi. Se tarjoaa suuria määriä tietoa, joten se on yleensä tarpeen suodattaa.

# varnishlog

Lisätietoja on man lakilogissa.

Meillä on myös varnishstat (lakatilastot), jota käytetään pääsemään yleisiin tilastoihin, kuten pyyntöjen kokonaismäärä, esineiden määrä ja paljon muuta.

# varnishstat

Lisätietoja on man varnishstat -sivulla.

Sitten meillä on varnishtop, joka apuohjelma lukee lakka lokin ja esittää jatkuvasti päivitetyn luettelon yleisimmin esiintyvistä lokimerkinnöistä.

# varnishtop 

Lisätietoja on man lakatilassa.

Toinen hyödyllinen apuohjelma on lakkahistoria (lakkahistoria), joka lukee lakkauslokit ja esittää jatkuvasti päivitetyn histogrammin, joka näyttää viimeisten N pyynnön jakauman niiden käsittelyn avulla.

# varnishhist

Lisätietoja saat lukemalla miehen lakkakirjan.

Sinulla on se! Olet ottanut käyttöön lakan välimuistin nopeuttamaan Web-sovellussisältöäsi, jota palvelin käyttää Apache HTTP -palvelimella CentOS/RHEL 8: ssa.

Jos sinulla on kysyttävää tästä aiheesta tai ajatuksia jakaa, käytä alla olevaa palautelomaketta. Katso lisätietoja Varnish Cache 6.0 -dokumentaatiosta.

Jos haluat ottaa HTTPS: n käyttöön sivustollasi, tarkista seuraava artikkeli, joka näyttää, kuinka SSL/TLS otetaan käyttöön lakan välimuistissa CentOS/RHEL 8: n Hitchin avulla.