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.
- A LEMP szerver telepítése CentOS 8 rendszeren
- 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.