Weboldal keresés

A Varnish Cache 6 telepítése Nginxhez a CentOS/RHEL 8 rendszeren


A Varnish Cache (általános nevén Varnish) egy nyílt forráskódú, erőteljes és gyors fordított proxy HTTP gyorsító modern architektúrával és rugalmasan. konfigurációs nyelv. A fordított proxy egyszerűen azt jelenti, hogy olyan szoftverről van szó, amelyet telepíthet a webszerver (amely az eredeti kiszolgáló vagy háttérkiszolgáló) elé, például az Nginxhez, hogy fogadja az ügyfelek HTTP-kéréseit, és továbbítsa azokat a származási szerver a feldolgozáshoz. És eljuttatja a választ az eredeti szervertől az ügyfelekhez.

A Lakk közvetítőként működik az Nginx és az kliensek között, de bizonyos teljesítményelőnyökkel jár. Fő célja az alkalmazások gyorsabb betöltése azáltal, hogy gyorsítótárként működik. Megkapja a kéréseket az ügyfelektől, és egyszer továbbítja azokat a háttérrendszernek, hogy gyorsítótárazhassa a kért tartalmat (a fájlok és fájltöredékek tárolása a memóriában). Ezután minden jövőbeli, pontosan hasonló tartalomra vonatkozó kérés a gyorsítótárból lesz kiszolgálva.

Ez gyorsabbá teszi a webalkalmazások betöltését, és közvetve javítja a webszerver általános teljesítményét, mivel a Varnish a memóriából fogja kiszolgálni a tartalmat, ahelyett, hogy az Nginx fájlokat dolgozna fel a tárolólemezről.

A gyorsítótárazáson kívül a Varnish számos más használati esettel is rendelkezik, beleértve a HTTP-kérés útválasztót, a terheléselosztót, a webalkalmazások tűzfalát és még sok mást.

A lakk a rendkívül bővíthető beépített Varnish Configuration Language (VCL) segítségével van konfigurálva, amely lehetővé teszi, hogy házirendeket írjon a bejövő kérésekre vonatkozóan. kezelt. Használhatja testreszabott megoldások, szabályok és modulok létrehozására.

Ebben a cikkben áttekintjük az Nginx webszerver és a Varnish Cache 6 telepítésének lépéseit egy friss CentOS 8 vagy rendszerre. RHEL 8szerver. Az RHEL 8 felhasználóknak gondoskodniuk kell arról, hogy engedélyezzék a redhat előfizetést.

A teljes LEMP verem beállításához az Nginx webszerver egyedüli telepítése helyett tekintse meg a következő útmutatókat.

  1. A LEMP szerver telepítése CentOS 8 rendszeren
  2. A LEMP szerver telepítése az RHEL 8-ra

1. lépés: Telepítse az Nginx webszervert a CentOS/RHEL 8 rendszeren

1. A CentOS/RHEL 8 az Nginx webszerver-szoftver legfrissebb verziójával kerül szállításra, ezért azt az alapértelmezett tárolóból telepítjük a követve a dnf parancsokat.

dnf update
dnf install nginx

2. Az Nginx telepítése után el kell indítania, engedélyeznie kell és ellenőriznie kell az állapotot a következő systemctl parancsokkal.

systemctl start nginx
systemctl enable nginx
systemctl status nginx

3. Ha egy kicsit kíváncsi, a következő ss paranccsal ellenőrizheti az Nginx TCP socketet is, amely alapértelmezés szerint a 80-as porton fut.

ss -tpln

4. Ha tűzfalat futtat a rendszeren, frissítse a tűzfalszabályokat, hogy lehetővé tegye a kéréseket a webszervernek.

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

2. lépés: A Varnish Cache 6 telepítése CentOS/RHEL 8 rendszeren

5. A CentOS/RHEL 8 alapértelmezés szerint egy Varnish Cache DNF modult biztosít, amely a 6.0 verziót tartalmazza. LTS (Hosszú távú támogatás).

A modul telepítéséhez futtassa a következő parancsot.

dnf module install varnish

6. Ha a modul telepítése befejeződött, ellenőrizheti a rendszerére telepített Varnish verzióját.

varnishd -V

7. A Varnish Cache telepítése után az /usr/sbin/varnishd alatt telepített fő végrehajtható parancs és a lakk konfigurációs fájlok a mappában találhatók. /etc/lakk/.

Az /etc/varnish/default.vcl fájl a fő lakkkonfigurációs fájl, amelyet VCL használatával írnak, és az /etc/varnish/secret a lakk. titkos fájl.

8. Ezután indítsa el a Varnish szolgáltatást, engedélyezze az automatikus indítást a rendszerindítás során, és ellenőrizze, hogy működik-e.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

3. lépés: Az Nginx konfigurálása a Varnish Cache használatára

9. Ebben a részben bemutatjuk, hogyan konfigurálhatja a Varnish Cache-t, hogy az Nginx előtt fusson. Alapértelmezés szerint az Nginx a 80 porton figyel, általában minden szerverblokk (vagy virtuális gazdagép) úgy van beállítva, hogy ezen a porton figyeljen.

Vessen egy pillantást például a fő konfigurációs fájlban (/etc/nginx/nginx.conf) beállított alapértelmezett nginx-kiszolgálóblokkra.

vi /etc/nginx/nginx.conf

Keresse meg a szerverblokk szakaszt, ahogy az a következő képernyőképen látható.

10. A Varnish futtatásához az Nginx előtt, módosítania kell az alapértelmezett Nginx portot 80ról ra. >8080 (vagy bármely más, az Ön által választott port).

Ezt minden jövőbeni szerverblokk konfigurációs fájlban meg kell tenni (általában az /etc/nginx/conf.d/ alatt jön létre) azon webhelyek vagy webalkalmazások esetében, amelyeket a Varnishen keresztül kíván megjeleníteni. >.

Például tesztwebhelyünk tecmint.lan szerverblokkja az /etc/nginx/conf.d/tecmint.lan.conf, és a következő konfigurációval rendelkezik.

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 {
        }
}

Fontos: Ne felejtse el letiltani az alapértelmezett szerverblokkot úgy, hogy megjegyzést fűz a konfigurációs részéhez az /etc/nginx/nginx.conf fájlban az ábrán látható módon. a következő képernyőképen. Ez lehetővé teszi más webhelyek/alkalmazások futtatását a szerveren, ellenkező esetben az Nginx mindig az alapértelmezett szerverblokkhoz irányítja a kéréseket.

11. A konfiguráció befejezése után ellenőrizze, hogy a konfigurációs fájlban nem található-e hiba, és indítsa újra az Nginx szolgáltatást a legutóbbi módosítások alkalmazásához.

nginx -t
systemctl restart nginx

12. Ezután a HTTP kérések fogadásához az ügyfelektől be kell állítanunk a Varnish alkalmazást, hogy a 80 porton fusson. Ellentétben a Varnish Cache korábbi verzióival, ahol ez a módosítás a Varnish környezetfájlban (amely már elavult), a 6.0 és újabb verziókban történt. .

El kell végeznünk a szükséges változtatást a Varnish service fájlban. Futtassa a következő parancsot a megfelelő szolgáltatásfájl megnyitásához szerkesztésre.

systemctl edit --full  varnish

Keresse meg a következő sort, és változtassa meg a figyelési címet és portot meghatározó -a kapcsoló értékét. Állítsa a portot 80 értékre, ahogy az a következő képernyőképen látható.

Ne feledje, ha nem ad meg címet, a varnishd a szerveren aktív összes rendelkezésre álló IPv4 és IPv6 interfészen figyelni fog.

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

Mentse el a változtatásokat a fájlban, és lépjen ki.

13. Ezt követően meg kell határoznia azt a háttérkiszolgálót, amelyet a Varnish meglátogat a tartalom letöltéséhez. Ez a Varnish fő konfigurációs fájljában történik.

vi /etc/varnish/default.vcl 

Keresse meg az alapértelmezett háttérkonfigurációs részt, és módosítsa az „alapértelmezett” karakterláncot szerver1-re (vagy bármely tetszőleges névre, amely az eredeti szervert jelöli). Ezután állítsa a portot 8080ra (vagy a szerverblokkban megadott Nginx figyelő portra).

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

Ebben az útmutatóban a Varnish és az Nginx ugyanazon a szerveren fut. Ha az Nginx webszerver egy másik gazdagépen fut. Például egy másik szerver 10.42.0.247 címmel, majd állítsa be a .host paramétert az ábrán látható módon.

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

Mentse el a fájlt és zárja be.

14. Ezután újra kell töltenie a systemd kezelő konfigurációját a Varnish szolgáltatásfájlban történt legutóbbi módosítások miatt, majd újra kell indítania a Varnish szolgáltatást a módosítások alkalmazásához az alábbiak szerint.

systemctl daemon-reload
systemctl restart varnish

15. Most ellenőrizze, hogy az Nginx és a Varnish figyel a konfigurált TCP socketeken.

ss -tpln

4. lépés: Az Nginx Varnish Cache beállításának tesztelése

16. Ezután ellenőrizze, hogy a weboldalak kiszolgálása a Varnish Cache segítségével történik-e az alábbiak szerint. Nyisson meg egy webböngészőt, és navigáljon a szerver IP-címével vagy FDQN-jével, ahogy az a következő képernyőképen látható.

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

17. Alternatív megoldásként használja a curl parancsot az ábrán látható módon. Használja a szerver IP-címét vagy a webhely FQDN-jét, vagy használja a 127.0.0.1-et vagy a localhost-ot, ha helyileg tesztel.

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

Hasznos lakkgyorsítótár-adminisztrációs segédprogramok

18. Ebben az utolsó részben röviden ismertetünk néhány hasznos segédprogramot, amelyekkel a Varnish Cache együtt kerül szállításra, és amelyek segítségével vezérelheti a varnishdt. >, hozzáférhet a memórián belüli naplókhoz, általános statisztikákhoz és még sok máshoz.

varnishadm

varnishadm egy futó Varnish példány vezérlésére szolgáló segédprogram. CLI kapcsolatot hoz létre a varnishd-val. Használhatja például a konfigurált háttérprogramok listázására, amint az a következő képernyőképen látható (további információért olvassa el a man varnishadm részt).

varnishadm
varnish> backend.list

lakknapló

A varnishlog segédprogram hozzáférést biztosít a kérésspecifikus adatokhoz. Konkrét ügyfelekről és kérésekről kínál információkat (további információért olvassa el a man lakknaplót).

varnishlog

lakkstat

Egy varnishstat, más néven lakkstatisztika, amely egy pillantást vet a Varnish jelenlegi teljesítményére azáltal, hogy hozzáférést biztosít a memórián belüli statisztikákhoz, például a gyorsítótár találataihoz és kihagyásaihoz, valamint a tárhellyel kapcsolatos információkhoz. , létrehozott szálak, törölt objektumok (további információért olvassa el a man varnishstat részt).

varnishstat 

lakkfelület

Egy varnishtop segédprogram beolvassa a megosztott memória naplóit, és folyamatosan frissített listát jelenít meg a leggyakrabban előforduló naplóbejegyzésekről (további információért olvassa el a man varnishtop részt).

varnishtop 

lakkhiszt

Egy lakkhiszt (lakktörténet) segédprogram elemzi a lakknaplókat, és egy folyamatosan frissített hisztogramot ad ki, amely az utolsó n kérés megoszlását mutatja feldolgozásuk szerint ( további információért olvassa el a man lakkhistet).

varnishhist

Ez minden! Ebben az útmutatóban bemutattuk, hogyan telepíthető a Varnish Cache, és hogyan futtassa azt az Nginx HTTP szerver előtt a webtartalom kézbesítésének felgyorsítása érdekében CentOS/RHEL 8< rendszerben..

Az útmutatóval kapcsolatos gondolatait vagy kérdéseit megoszthatja az alábbi visszajelzési űrlap segítségével. További információért olvassa el a Varnish Cache dokumentációját.

A Varnish Cache fő hátránya a HTTPS natív támogatásának hiánya. A HTTPS engedélyezéséhez webhelyén/alkalmazásában be kell állítania egy SSL/TLS-lezáró proxyt, hogy a Varnish Cache funkcióval együtt védje webhelyét. Következő cikkünkben bemutatjuk, hogyan engedélyezheti a HTTPS-t a Varnish Cache számára a Hitch használatával CentOS/RHEL 8 rendszeren.