Varnish Cache 6:n asentaminen Nginxille CentOS/RHEL 8:aan


Varnish Cache (tunnetaan yleisesti nimellä Varnish) on avoimen lähdekoodin, tehokas ja nopea käänteisen välityspalvelimen HTTP-kiihdytin, jolla on moderni arkkitehtuuri ja joustava. määrityskieli. Käänteinen välityspalvelin tarkoittaa yksinkertaisesti ohjelmistoa, jonka voit ottaa käyttöön verkkopalvelimesi (joka on alkuperäinen palvelin tai taustapalvelin), kuten Nginx, edessä vastaanottamaan asiakkaiden HTTP-pyyntöjä ja välittämään ne alkuperäpalvelin käsittelyä varten. Ja se toimittaa vastauksen alkuperäpalvelimelta asiakkaille.

Lakka toimii välittäjänä Nginxin ja asiakkaiden välillä, mutta sillä on joitain suorituskykyetuja. Sen päätarkoitus on saada sovelluksesi latautumaan nopeammin toimimalla välimuistimoottorina. Se vastaanottaa pyynnöt asiakkailta ja välittää ne takaisin taustajärjestelmään kerran tallentaakseen pyydetyn sisällön välimuistiin (tallentaa tiedostoja ja tiedostojen fragmentteja muistiin). Sitten kaikki tulevat täsmälleen samankaltaisen sisällön pyynnöt toimitetaan välimuistista.

Tämä saa verkkosovelluksesi latautumaan nopeammin ja parantaa epäsuorasti verkkopalvelimesi yleistä suorituskykyä, koska Varnish näyttää sisältöä muistista sen sijaan, että Nginx käsittelee tiedostoja tallennuslevyltä.

Välimuistin tallentamisen lisäksi Varnishilla on myös useita muita käyttötapauksia, kuten HTTP-pyyntöreititin, kuormituksen tasapainotin, verkkosovellusten palomuuri ja paljon muuta.

Lakka on määritetty käyttämällä erittäin laajennettavaa sisäänrakennettua Varnish Configuration Language -kieltä (VCL), jonka avulla voit kirjoittaa käytäntöjä siitä, miten saapuvat pyynnöt tulee olla hoidettu. Voit käyttää sitä räätälöityjen ratkaisujen, sääntöjen ja moduulien rakentamiseen.

Tässä artikkelissa käydään läpi vaiheet Nginx-verkkopalvelimen ja Varnish Cache 6:n asentamiseksi uuteen CentOS 8- tai -käyttöjärjestelmään. RHEL 8 -palvelin. RHEL 8 -käyttäjien tulee varmistaa, että he ottavat käyttöön redhat-tilauksen.

Jos haluat määrittää täydellisen LEMP-pinon pelkän Nginx-verkkopalvelimen asentamisen sijaan, tutustu seuraaviin oppaisiin.

  1. Kuinka asentaa LEMP-palvelin CentOS 8:aan
  2. Kuinka asentaa LEMP-palvelin RHEL 8:aan

Vaihe 1: Asenna Nginx Web Server CentOS/RHEL 8:aan

1. CentOS/RHEL 8 toimitetaan Nginx-verkkopalvelinohjelmiston uusimman version kanssa, joten asennamme sen oletusvarastosta käyttämällä seuraamalla dnf-komentoja.

dnf update
dnf install nginx

2. Kun Nginx on asennettu, sinun on käynnistettävä, otettava käyttöön ja tarkistettava tila käyttämällä seuraavia systemctl-komentoja.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Jos olet hieman utelias, voit myös tarkistaa Nginx TCP -socketin, joka toimii oletuksena portissa 80, käyttämällä seuraavaa ss-komentoa.

ss -tpln

4. Jos käytät palomuuria järjestelmässä, muista päivittää palomuurisäännöt salliaksesi pyynnöt verkkopalvelimelle.

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

Vaihe 2: Varnish Cache 6:n asentaminen CentOS/RHEL 8:aan

5. CentOS/RHEL 8 sisältää oletuksena Varnish Cache DNF -moduulin, joka sisältää version 6.0 LTS (Pitkäaikainen tuki).

Asenna moduuli suorittamalla seuraava komento.

dnf module install varnish

6. Kun moduulin asennus on valmis, voit vahvistaa järjestelmääsi asennetun Varnishin-version.

varnishd -V

7. Kun olet asentanut Lakkavälimuistin, pääasiallinen suoritettava komento, joka on asennettu hakemistoon /usr/sbin/varnishd ja lakka-määritystiedostot sijaitsevat /etc/lakka/.

Tiedosto /etc/varnish/default.vcl on tärkein lakan asetustiedosto, joka on kirjoitettu VCL:llä ja /etc/varnish/secret on lakka. salainen tiedosto.

8. Käynnistä seuraavaksi Varnish-palvelu, ota se käyttöön automaattisesti järjestelmän käynnistyksen aikana ja varmista, että se on käynnissä.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

Vaihe 3: Nginxin määrittäminen toimimaan lakkavälimuistin kanssa

9. Tässä osiossa näytämme, kuinka Varnish Cache määritetään toimimaan Nginx:n edessä. Oletuksena Nginx kuuntelee porttia 80, normaalisti jokainen palvelinlohko (tai virtuaalinen isäntä) on määritetty kuuntelemaan tätä porttia.

Katso esimerkiksi oletusarvoista nginx-palvelinlohkoa, joka on määritetty päämääritystiedostossa (/etc/nginx/nginx.conf).

vi /etc/nginx/nginx.conf

Etsi palvelinlohkoosa seuraavan kuvakaappauksen mukaisesti.

10. Jos haluat suorittaa Varnishin Nginxin edessä, sinun tulee vaihtaa Nginx-oletusportiksi 80 arvoon >8080 (tai mikä tahansa muu valitsemasi portti).

Tämä tulee tehdä kaikissa tulevissa palvelinlohkon määritystiedostoissa (yleensä luotu osoitteessa /etc/nginx/conf.d/) sivustoille tai verkkosovelluksille, joita haluat käyttää Varnishin kautta. >.

Esimerkiksi testisivustomme tecmint.lan palvelinlohko on /etc/nginx/conf.d/tecmint.lan.conf, ja sen kokoonpano on seuraava.

server {
        listen       8080;
        server_name  www.tecmint.lan;
        root         /var/www/html/tecmint.lan/;
        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
}

Tärkeää: muista poistaa oletuspalvelinlohko käytöstä kommentoimalla sen määritysosiota /etc/nginx/nginx.conf-tiedostossa kuvan osoittamalla tavalla. seuraavassa kuvakaappauksessa. Tämän avulla voit aloittaa muiden verkkosivustojen/sovellusten suorittamisen palvelimellasi, muuten Nginx ohjaa aina pyynnöt oletuspalvelinlohkoon.

11. Kun määritys on valmis, tarkista määritystiedostossa mahdolliset virheet ja käynnistä Nginx-palvelu uudelleen ottaaksesi käyttöön viimeisimmät muutokset.

nginx -t
systemctl restart nginx

12. Seuraavaksi, jotta voimme vastaanottaa HTTP-pyyntöjä asiakkailta, meidän on määritettävä Varnish toimimaan portissa 80. Toisin kuin aiemmissa Varnish Cache -versioissa, joissa tämä muutos tehtiin Varnish-ympäristötiedostossa (joka on nyt vanhentunut), versiossa 6.0 ja uudemmissa. .

Meidän on tehtävä vaadittu muutos Varnish-palvelutiedostoon. Suorita seuraava komento avataksesi sopivan palvelutiedoston muokkausta varten.

systemctl edit --full  varnish

Etsi seuraava rivi ja muuta -a-kytkimen arvoa, joka määrittää kuunteluosoitteen ja portin. Aseta portiksi 80 seuraavan kuvakaappauksen mukaisesti.

Huomaa, että jos et määritä osoitetta, varnishd kuuntelee kaikkia saatavilla 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.

13. Seuraavaksi sinun on määritettävä taustapalvelin, jolta Varnish vierailee hakeakseen sisältöä. Tämä tehdään Varnishin pääasetustiedostossa.

vi /etc/varnish/default.vcl 

Etsi taustajärjestelmän oletusmääritysosio ja muuta merkkijono "oletus" arvoksi palvelin1 (tai mikä tahansa valitsemasi nimi edustamaan alkuperäistä palvelinta). Aseta sitten portiksi 8080 (tai palvelinlohkossa määrittämäsi Nginx-kuunteluportti).

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

Tätä opasta varten käytämme Varnishia ja Nginxiä samalla palvelimella. Jos Nginx-verkkopalvelimesi toimii eri isännässä. Esimerkiksi toinen palvelin, jonka osoite on 10.42.0.247, ja aseta sitten .host-parametri kuvan mukaisesti.

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

Tallenna tiedosto ja sulje se.

14. Seuraavaksi sinun on ladattava systemd-hallintaohjelman kokoonpano uudelleen Varnish-palvelutiedoston viimeaikaisten muutosten vuoksi ja käynnistettävä sitten Varnish-palvelu uudelleen, jotta muutokset otetaan käyttöön seuraavasti.

systemctl daemon-reload
systemctl restart varnish

15. Vahvista nyt, että Nginx ja Varnish kuuntelevat määritettyjä TCP-liitäntöjä.

ss -tpln

Vaihe 4: Testaa Nginx Varnish Cache -asetusta

16. Varmista seuraavaksi, että verkkosivuja tarjotaan Varnish Cachen kautta seuraavasti. Avaa verkkoselain ja navigoi käyttämällä palvelimen IP-osoitetta tai FDQN:ää seuraavan kuvakaappauksen mukaisesti.

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

17. Vaihtoehtoisesti voit käyttää curl-komentoa kuvan mukaisesti. Käytä palvelimesi IP-osoitetta tai verkkosivuston FQDN-numeroa tai käytä 127.0.0.1:tä tai localhostia, jos testaat paikallisesti.

curl -I http:///www.tecmint.lan

Hyödyllisiä lakkavälimuistin hallintaohjelmia

18. Tässä viimeisessä osiossa kuvataan lyhyesti joitain hyödyllisiä apuohjelmia, joiden mukana Varnish Cache toimitetaan ja joilla voit hallita varnishda. >, pääset käsiksi muistin lokeihin ja yleisiin tilastoihin ja paljon muuta.

lakkashadm

varnishadm apuohjelma käynnissä olevan Varnish-esiintymän ohjaamiseen. Se muodostaa CLI-yhteyden varnishd:hen. Voit esimerkiksi käyttää sitä luetteloimaan määritettyjä taustaohjelmia seuraavan kuvakaappauksen mukaisesti (lisätietoja on kohdassa man varnishadm).

varnishadm
varnish> backend.list

lakkatukki

varnishlog-apuohjelma tarjoaa pääsyn pyyntökohtaisiin tietoihin. Se tarjoaa tietoja tietyistä asiakkaista ja pyynnöistä (lisätietoja on kohdassa man varnishlog).

varnishlog

lakkatila

lakkatilastot, joka tunnetaan myös nimellä lakkatilastot, joka antaa sinulle vilkaisun Varnishin nykyiseen suorituskykyyn tarjoamalla pääsyn muistin tilastoihin, kuten välimuistin osumiin ja poikkeamiin sekä tallennustilatietoihin. , luodut säikeet, poistetut objektit (lisätietoja on kohdassa man varnishstat).

varnishstat 

lakkapinta

varnishtop-apuohjelma lukee jaetun muistin lokit ja näyttää jatkuvasti päivitettävän luettelon yleisimmin esiintyvistä lokimerkinnöistä (lisätietoja on kohdassa man varnishtop).

varnishtop 

lakkahiutale

Lakkahistoria (lakkahistoria) -apuohjelma jäsentää lakkauslokit ja tulostaa jatkuvasti päivitettävän histogrammin, joka näyttää viimeisten n pyynnön jakautumisen niiden käsittelyn mukaan ( Lue lisää aiheesta man lakkhist).

varnishhist

Siinä kaikki! Tässä oppaassa olemme osoittaneet, kuinka Varnish Cache asennetaan ja suoritetaan Nginx HTTP -palvelimen edessä verkkosisällön toimittamisen nopeuttamiseksi CentOS/RHEL 8:ssa<..

Kaikki tätä opasta koskevat ajatukset tai kysymykset voidaan jakaa käyttämällä alla olevaa palautelomaketta. Lisätietoja saat Varnish Cache -dokumentaatiosta.

Varnish Cachen suurin haittapuoli on sen natiivituen puute HTTPS:lle. Jotta voit ottaa HTTPS:n käyttöön verkkosivustossasi/sovelluksessasi, sinun on määritettävä SSL/TLS-päätevälityspalvelin, joka toimii yhdessä Varnish Cachen kanssa suojataksesi sivustoasi. Seuraavassa artikkelissamme näytämme, kuinka HTTPS otetaan käyttöön Varnish Cachelle Hitchillä CentOS/RHEL 8:ssa.