Az Nginx FastCGI gyorsítótár beállítása az Ubuntun

Az Nginx FastCGI gyorsítótár növeli webhelye teljesítményét az Ubuntu szerver terhelésének csökkentésével. Különösen hatékony dinamikus tartalom esetén, lehetővé téve az Nginx számára, hogy közvetlenül, PHP processzorok használata nélkül szolgáltasson gyorsítótárazott tartalmat. Ez felgyorsítja a válaszidőt és csökkenti az erőforrás-felhasználást. Íme az Nginx FastCGI gyorsítótár legfontosabb funkciói és előnyei a webes infrastruktúrához:

  • Hatékony tartalomszolgáltatás: Az Nginx FastCGI gyorsítótár dinamikus tartalomkimenetet tárol, ami gyorsabb hozzáférést és terjesztést tesz lehetővé.
  • Csökkentett szerverterhelés: A gyorsítótárazott tartalom kiszolgálása minimalizálja a PHP-hívások számát, könnyítve ezzel a szerver terhelését.
  • Méretezhetőség: Az Nginx FastCGI gyorsítótár segít a megnövekedett forgalom kezelésében anélkül, hogy a webhely növekedésével a sebességet veszélyeztetné.
  • Testreszabható gyorsítótár: Ez az opció rugalmasságot kínál a gyorsítótár lejáratának, a kihagyásnak és a frissítési feltételeknek az Ön igényeinek megfelelő beállításában.
  • Továbbfejlesztett felhasználói élmény: A webhely gyorsabb betöltési ideje javítja a felhasználói élményt, pozitív hatással van a látogatók megtartására és a keresőoptimalizálási helyezésekre.
  • Erőforrás optimalizálás: Optimalizálja a szerver erőforrások kihasználását, ami az egyidejű kérések hatékonyabb kezelését eredményezi.
  • Könnyű hibakeresés: Egyszerű mechanizmusokat biztosít a gyorsítótárazott tartalom hibakereséséhez és ellenőrzéséhez, biztosítva a zökkenőmentes működést.
  • Kompatibilitás: Zökkenőmentesen működik a népszerű CMS-platformokkal, növelve azok teljesítményét kiterjedt konfiguráció nélkül.

Ahogy haladunk a technikai útmutatóban, ne feledje, hogy az Nginx FastCGI gyorsítótár megvalósítása stratégiai módszer webhelye hatékonyságának és felhasználói elégedettségének javítására. Kezdjük el javítani webhelye teljesítményét az Nginx FastCGI gyorsítótárral.

Állítsa be az Nginx FastCGI gyorsítótárat

Szerkessze a FastCGI gyorsítótár Nginx konfigurációs fájlját

Nyissa meg a konfigurációs fájlt

Először is meg kell nyitnia a nginx.conf fájlt. Mi a nano szövegszerkesztőt fogjuk használni, de használhat bármilyen szövegszerkesztőt, amivel kényelmes. Írja be ezt a parancsot:

sudo nano /etc/nginx/nginx.conf

FastCGI paraméterek konfigurálása

A fájlban keresse meg a HTTP blokkot, és adja hozzá a következő sorokat:

fastcgi_cache_path /var/nginx/fastcgi_cache levels=1:2 keys_zone=fcgicache:150m max_size=20g inactive=60m use_temp_path=off;
fastcgi_cache_key "$scheme$request_method$host$request_uri";

A sorok bevitele után nyomja meg a gombot CTRL + O, típus Ygombot, majd nyomja meg CTRL + X kilépni.

Ismerje meg a FastCGI paramétereket

  • fastcgi_cache_path: Ez a paraméter beállítja a FastCGI gyorsítótár tárolásának helyét (/var/nginx/fastcgi_cache). Ez alapvető fontosságú, mivel ez határozza meg, hogy a gyorsítótárazott tartalom hol található.
  • levels=1:2: Ez kétszintű címtárhierarchiát hoz létre a gyorsítótár helye alatt. Ez a kialakítás segít a fájlok szétosztásában két könyvtár között, ami viszont csökkenti a lemez I/O szűk keresztmetszetek kockázatát.
  • keys_zone: Megadja a megosztott memória zóna nevét (fcgicache) és a mérete (150M). A megosztott memória zóna kulcsfontosságú a gyorsítótár-kulcsok és a metaadatok tárolásához.
  • max_size: Ez határozza meg a gyorsítótár maximális méretét (ebben a példában 20GB). Ha eléri ezt a korlátot, a legrégebbi fájlok törlődnek, hogy hely maradjon az újaknak.
  • inactive: Meghatározza azt az időtartamot, ameddig a nem elért adatok törlődnek a gyorsítótárból. Ebben a példában 60 percre van beállítva.
  • use_temp_path: Ennek beállítása off utasítja az Nginxet, hogy közvetlenül a megadott gyorsítótár-mappába írjon fájlokat, megkerülve az ideiglenes tárolóterület használatát.
  • fastcgi_cache_key: A gyorsítótár-keresés kulcsának meghatározására szolgál. Az Nginx létrehoz egy MD5 hash-t ebből a kulcsból a gyorsítótár-fájlok neveként való használatra.

Konfigurálja az Nginx szerverblokkot a FastCGI gyorsítótárhoz

Szerver blokkfájl szerkesztése

Ezután szerkesztenie kell a szerverblokk fájlját. Ebben a példában feltételezzük, hogy a fájl neve example.com.conf. Nyissa meg a következő paranccsal:

sudo nano /etc/nginx/sites-available/example.com.conf

Szúrja be a FastCGI gyorsítótár-irányelveket

Feltéve, hogy telepítve van a LEMP, illessze be a következő sorokat a PHP fájlok helyblokkjába:

fastcgi_cache fcgicache;
fastcgi_cache_valid 200 60m;
fastcgi_cache_use_stale error timeout updating invalid_header http_500 http_503;
fastcgi_cache_min_uses 1;
fastcgi_cache_lock on;
add_header X-FastCGI-Cache $upstream_cache_status;

Ismerje meg a FastCGI gyorsítótár irányelveit

  • fastcgi_cache: Engedélyezi a gyorsítótárazást, és meghatározza a korábban meghatározott megosztott memória zónát.
  • fastcgi_cache_valid: Meghatározza a gyorsítótár időtartamát bizonyos HTTP-állapotkódokhoz.
  • fastcgi_cache_use_stale: Beállítja azokat a feltételeket, amelyek mellett az Nginx egy elavult gyorsítótárazott választ használhat.
  • fastcgi_cache_min_uses: Megadja, hogy milyen gyakran kell választ kérni, mielőtt a gyorsítótárba kerülne.
  • fastcgi_cache_lock: Biztosítja, hogy egyszerre csak egy kérés töltse fel az új gyorsítótár elemet, megakadályozva a „gyorsítótár-bélyegzést”.
  • add_header: Egyéni fejlécet ad hozzá (X-FastCGI-Cache) a HTTP-válaszra, jelezve, hogy a választ a gyorsítótárból kézbesítették-e.

Konfigurálja a FastCGI gyorsítótár-ürítést az Nginx rendszeren

A gyorsítótár-ürítés beállítása

A gyorsítótár-tisztítás lehetővé teszi a tartalom eltávolítását a gyorsítótárból, mielőtt lejárna. A gyorsítótár-ürítés konfigurálásához hozzon létre egy gyorsítótár-ürítési direktívát a következő sorok beszúrásával a kiszolgáló blokkfájljába:

location ~ /purge(/.*) {
    # Uncomment the following two lines to allow purge only from the webserver
    allow 127.0.0.1;
    deny all;
    fastcgi_cache_purge fcgicache "$scheme$request_method$host$1";
}

Sajtó CTRL + O, típus Ygombot, majd nyomja meg CTRL + X a szövegszerkesztőből való kilépéshez.

Alternatív megoldás a gyorsítótár-ürítési problémák megoldására

Ha problémákba ütközik a gyorsítótár-ürítéssel, ehelyett módosíthatja a gyorsítótár lejárati idejét. Közepes és nagy forgalmú webhelyek esetén gyakran hatékonyabb az alacsonyabb lejárati arány beállítása, például 2 óra inaktív és 4 óra teljes lejárat esetén.

Tesztelje és indítsa újra az Nginx szervert

Tesztelje a konfigurációt

A szintaktikai hibák és a hibás konfiguráció elkerülése érdekében elengedhetetlen az Nginx konfiguráció érvényesítése. Használja a következő parancsot:

sudo nginx -t

Ha minden helyes, a következő kimenetet kell látnia:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Indítsa újra az Nginx szervert

Végül indítsa újra az Nginx szervert az elvégzett módosítások alkalmazásához:

sudo systemctl restart nginx

Hozzon létre és optimalizálja az Nginx FastCGI gyorsítótár-könyvtárat

Hozzon létre FastCGI gyorsítótár-könyvtárat

Most hozzuk létre azt a könyvtárat, ahol az Nginx tárolja a gyorsítótár fájlokat. Ezt az utat korábban a nginx.conf fájl:

sudo mkdir -p /var/nginx/fastcgi_cache

A gyorsítótár-könyvtár optimalizálása a tmpfs segítségével (opcionális)

Ha a rendszere elegendő RAM-mal rendelkezik, választhatja a használatát tmpfs hogy a gyorsítótárat a memóriában tárolja. Ez gyorsabb hozzáférési időt eredményezhet a lemeztárhoz képest. Legyen azonban óvatos, mivel a RAM-ban való tárolás jelentős memóriaerőforrásokat fogyaszthat. Így csatlakoztathatja a cache-könyvtárat tmpfs:

Szerkesztés /etc/fstab fájl:

sudo nano /etc/fstab

Adja hozzá a következő sort a fájl végéhez:

tmpfs   /var/nginx/fastcgi_cache   tmpfs   defaults,size=512M   0 0

Ez 512 MB RAM-ot foglal le a gyorsítótár számára. A méretet a rendszererőforrások alapján ennek megfelelően módosíthatja.

Szerelje fel a tmpfs:

sudo mount -a

Ez a konfiguráció biztosítja, hogy a FastCGI gyorsítótár a memóriában kerüljön tárolásra, ami gyorsabb teljesítményt kínál a RAM kihasználtságának rovására.

Érvényesítse az Nginx FastCGI gyorsítótár funkcióit

Tesztelje a FastCGI gyorsítótárat curl segítségével

A FastCGI gyorsítótár megfelelő működését a következővel ellenőrizheti curl parancs. A gyorsítótár beállításaitól függően előfordulhat, hogy többször le kell futtatnia a parancsot, mielőtt gyorsítótár-leütést látna:

curl -I http://www.your-domain.com

Ha nincs curl telepítve, a következőkkel telepítheti:

sudo apt install curl -y

A kimenetben keresse meg a X-FastCGI-Cache: HIT fejléc:

~$ curl -I https://www.example.com/
HTTP/1.1 200 OK
...
X-FastCGI-Cache: HIT
...

Ez azt jelzi, hogy a kérést a gyorsítótárból kézbesítették.

Konfigurálja a gyorsítótár-kizárásokat

A webhelyelemeket, például a WordPress adminisztrációs oldalait, a megjegyzésrészeket és a webhelytérképeket nem szabad gyorsítótárban tárolni. Ha be szeretné állítani, hogy az Nginx ne tárolja ezeket a gyorsítótárat, adja hozzá a következő kódot a location (~\.php$) sor a szerver blokkfájljában:

# Cache by default
set $skip_cache 0;

# Don't cache URIs containing the following
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-..php|^/feed/|/tag/./feed/|index.php|/.sitemap..(xml|xsl)") {
    set $skip_cache 1;
}

# Don't cache for logged-in users or comment authors
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
    set $skip_cache 1;
}

# POST requests and URIs with a query string should bypass the cache
if ($request_method = POST) {
    set $skip_cache 1;
}

if ($query_string != "") {
    set $skip_cache 1;
}

Gyorsítótár-kizárások hibakeresése (opcionális)

Ha hibakeresési célból megjegyzéseket szeretne hozzáadni, mindegyik alá helyezhet egy egyéni megjegyzést set $skip_cache 1; ilyen kijelentés:

set $skip_reason "your custom note";

Ez hasznos lehet annak megértésében, hogy bizonyos tartalmak miért nem kerülnek gyorsítótárba a hibaelhárítás során.

A konfigurációk elvégzése után feltétlenül tesztelje a konfigurációt, és indítsa újra az Nginx-et:

sudo nginx -t
sudo systemctl restart nginx

Az Nginx FastCGI gyorsítótár legjobb gyakorlatai és megfontolások

Noha a FastCGI gyorsítótárazás jelentős teljesítményelőnyöket kínál, elengedhetetlen annak biztosítása, hogy a konfiguráció az adott használati esethez és a szerver erőforrásokhoz legyen optimalizálva:

  • A választás előtt értékelje a rendelkezésre álló RAM mennyiségét tmpfs gyorsítótárazáshoz. Győződjön meg arról, hogy a kiszolgáló elegendő memóriával rendelkezik a többi kritikus folyamathoz.
  • Testreszabhatja a gyorsítótár-kizárásokat az alkalmazásának megfelelően. A bemutatott példák kifejezetten a WordPressre vonatkoznak, de előfordulhat, hogy más típusú alkalmazásoknál eltérő kizárásokra lesz szükség.
  • Rendszeresen ellenőrizze a gyorsítótár használatát és teljesítményét. Ha a gyorsítótár túl sok lemezterületet foglal el, vagy nem javítja a teljesítményt a várt módon, fontolja meg a gyorsítótár elérési útjának, méretének vagy beállításainak megfelelő módosítását.

Következtetés

Nos, megvan! Végigjártuk az Nginx FastCGI gyorsítótár telepítésének lépéseit az Ubuntu szerverére, amely a dinamikus tartalom hatékony kezelésével növeli webhelye teljesítményét. Ne feledje, hogy az előnyök maximalizálásához kulcsfontosságú a gyorsítótár-beállítások webhelye igényeinek megfelelő karbantartása. Ne riadjon vissza a beállítások módosításától, hogy megtalálja azt a kedves helyet. Akár tapasztalt profi, akár kezdő a szerverkezelésben, reméljük, hogy ez az útmutató hasznos társ volt webes jelenléte optimalizálásához. Legyen egyszerű, maradjon következetes, és itt a gyorsabb, gördülékenyebb webhelyélmény az Ön és látogatói számára!

Joshua James

Szólj hozzá!