Jak nastavit mezipaměť Nginx FastCGI na Ubuntu

Nginx FastCGI Cache zvyšuje výkon vašeho webu snížením zatížení vašeho serveru Ubuntu. Je zvláště efektivní pro dynamický obsah a umožňuje Nginxu obsluhovat obsah uložený v mezipaměti přímo bez použití procesorů PHP. To zrychluje dobu odezvy a snižuje spotřebu zdrojů. Zde jsou klíčové funkce a výhody Nginx FastCGI Cache pro vaši webovou infrastrukturu:

  • Efektivní doručování obsahu: Nginx FastCGI Cache ukládá dynamický výstup obsahu, což umožňuje rychlejší přístup a distribuci.
  • Snížené zatížení serveru: Poskytování obsahu uloženého v mezipaměti minimalizuje počet volání PHP a snižuje zatížení serveru.
  • Škálovatelnost: Nginx FastCGI Cache pomáhá řídit zvýšený provoz bez kompromisů v rychlosti, jak váš web roste.
  • Přizpůsobitelné ukládání do mezipaměti: Tato možnost nabízí flexibilitu v nastavení vypršení platnosti mezipaměti, obcházení a podmínek aktualizace tak, aby vyhovovaly vašim potřebám.
  • Vylepšená uživatelská zkušenost: Rychlejší načítání webových stránek zlepšuje uživatelský dojem, pozitivně ovlivňuje udržení návštěvníků a hodnocení SEO.
  • Optimalizace zdrojů: Optimalizuje využití serverových zdrojů, což vede k efektivnějšímu zpracování souběžných požadavků.
  • Snadné ladění: Poskytuje jednoduché mechanismy pro ladění a ověřování obsahu uloženého v mezipaměti a zajišťuje hladký provoz.
  • Kompatibilita: Bezproblémově spolupracuje s oblíbenými platformami CMS a zvyšuje jejich výkon bez rozsáhlé konfigurace.

Když přejdeme k technickému postupu, mějte na paměti, že implementace Nginx FastCGI Cache je strategický způsob, jak zlepšit efektivitu vašeho webu a spokojenost uživatelů. Začněme vylepšovat výkon vašeho webu pomocí Nginx FastCGI Cache.

Nastavení mezipaměti Nginx FastCGI

Upravte konfigurační soubor Nginx pro mezipaměť FastCGI

Otevřete konfigurační soubor

Nejprve musíte otevřít nginx.conf soubor. Použijeme nano textový editor, ale můžete použít jakýkoli textový editor, který vám vyhovuje. Zadejte tento příkaz:

sudo nano /etc/nginx/nginx.conf

Nakonfigurujte parametry FastCGI

Uvnitř souboru vyhledejte blok HTTP a přidejte následující řádky:

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";

Po zadání řádků stiskněte CTRL + O, typ Ya poté stiskněte CTRL + X k východu.

Pochopte parametry FastCGI

  • fastcgi_cache_path: Tento parametr nastavuje umístění pro uložení mezipaměti FastCGI (/var/nginx/fastcgi_cache). Je to nezbytné, protože určuje, kde bude obsah uložený v mezipaměti umístěn.
  • levels=1:2: Tím se vytvoří dvouúrovňová hierarchie adresářů pod umístěním mezipaměti. Tento design pomáhá při rozložení souborů do dvou adresářů, což zase snižuje riziko úzkých míst diskových I/O.
  • keys_zone: Určuje název zóny sdílené paměti (fcgicache) a jeho velikost (150M). Zóna sdílené paměti je zásadní pro ukládání klíčů mezipaměti a metadat.
  • max_size: Definuje maximální velikost mezipaměti (v tomto příkladu 20GB). Po dosažení tohoto limitu budou nejstarší soubory odstraněny, aby se uvolnilo místo pro nové.
  • inactive: Toto určuje dobu, po které budou data, ke kterým se nepřistupovalo, odstraněna z mezipaměti. V tomto příkladu je nastavena na 60 minut.
  • use_temp_path: Nastavení na off instruuje Nginx, aby zapisoval soubory přímo do zadané složky mezipaměti a obešel tak použití dočasného úložiště.
  • fastcgi_cache_key: Používá se k definování klíče pro vyhledávání mezipaměti. Nginx vytvoří MD5 hash tohoto klíče, který se použije jako název souborů mezipaměti.

Nakonfigurujte blok serveru Nginx pro mezipaměť FastCGI

Upravit soubor bloku serveru

Dále musíte upravit soubor bloku serveru. V tomto příkladu budeme předpokládat, že soubor je pojmenován example.com.conf. Otevřete jej pomocí následujícího příkazu:

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

Vložte Direktivy FastCGI Cache

Za předpokladu, že máte nainstalovaný LEMP, vložte do bloku umístění pro soubory PHP následující řádky:

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;

Pochopte direktivy FastCGI Cache

  • fastcgi_cache: Povoluje ukládání do mezipaměti a určuje zónu sdílené paměti, která byla definována dříve.
  • fastcgi_cache_valid: Definuje dobu trvání mezipaměti pro konkrétní stavové kódy HTTP.
  • fastcgi_cache_use_stale: Nastavuje podmínky, za kterých může Nginx použít zastaralou odpověď uloženou v mezipaměti.
  • fastcgi_cache_min_uses: Určuje, jak často musí být odpověď požadována, než se uloží do mezipaměti.
  • fastcgi_cache_lock: Zajišťuje, že nový prvek mezipaměti vyplní vždy pouze jeden požadavek, čímž se zabrání „úspěchu mezipaměti“.
  • add_header: Přidá vlastní záhlaví (X-FastCGI-Cache) na odpověď HTTP, která označuje, zda byla odpověď doručena z mezipaměti.

Nakonfigurujte FastCGI Cache Purge na Nginx

Nastavení vymazání mezipaměti

Čištění mezipaměti umožňuje odstranit obsah z mezipaměti před vypršením její platnosti. Chcete-li nakonfigurovat čištění mezipaměti, vytvořte direktivu čištění mezipaměti vložením následujících řádků do souboru bloku serveru:

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";
}

lis CTRL + O, typ Ya poté stiskněte CTRL + X pro ukončení textového editoru.

Alternativní přístup k problémům s čištěním mezipaměti

Pokud máte problémy s čištěním mezipaměti, můžete místo toho upravit dobu vypršení mezipaměti. Pro weby se střední až vysokou návštěvností je často efektivnější nastavení nižší rychlosti vypršení platnosti, jako jsou 2 hodiny neaktivní a 4 hodiny pro celkové vypršení platnosti.

Otestujte a restartujte server Nginx

Otestujte konfiguraci

Je nezbytné ověřit konfiguraci Nginx, abyste se vyhnuli syntaktickým chybám nebo nesprávným konfiguracím. Použijte následující příkaz:

sudo nginx -t

Pokud je vše v pořádku, měli byste vidět následující výstup:

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

Restartujte server Nginx

Nakonec restartujte server Nginx, abyste použili změny, které jste provedli:

sudo systemctl restart nginx

Vytvořte a optimalizujte adresář mezipaměti Nginx FastCGI

Vytvořte adresář mezipaměti FastCGI

Pojďme nyní vytvořit adresář, kam bude Nginx ukládat soubory mezipaměti. Tato cesta byla specifikována dříve v nginx.conf soubor:

sudo mkdir -p /var/nginx/fastcgi_cache

Optimalizace adresáře mezipaměti pomocí tmpfs (volitelné)

Pokud má váš systém dostatek paměti RAM, můžete se rozhodnout použít tmpfs pro uložení mezipaměti do paměti. To může mít za následek rychlejší přístupové časy ve srovnání s diskovým úložištěm. Buďte však opatrní, protože ukládání do paměti RAM může spotřebovat značné množství paměti. Zde je návod, jak můžete připojit adresář mezipaměti jako tmpfs:

Upravit /etc/fstab soubor:

sudo nano /etc/fstab

Na konec souboru přidejte následující řádek:

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

To alokuje 512 MB paměti RAM pro mezipaměť. Velikost můžete upravit podle vašich systémových prostředků.

Namontujte tmpfs:

sudo mount -a

Tato konfigurace zajišťuje, že mezipaměť FastCGI je uložena v paměti a nabízí rychlejší výkon na úkor využití RAM.

Ověřte funkčnost mezipaměti Nginx FastCGI

Test FastCGI Cache s curl

Správnou funkci mezipaměti FastCGI můžete ověřit pomocí curl příkaz. V závislosti na nastavení mezipaměti možná budete muset příkaz spustit několikrát, než uvidíte přístup do mezipaměti:

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

Pokud nemáte curl nainstalován, můžete jej nainstalovat pomocí:

sudo apt install curl -y

Ve výstupu vyhledejte X-FastCGI-Cache: HIT záhlaví:

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

To znamená, že požadavek byl doručen z mezipaměti.

Konfigurace vyloučení mezipaměti

Prvky webu, jako jsou stránky správce WordPress, sekce komentářů a soubory Sitemap, by neměly být ukládány do mezipaměti. Chcete-li nakonfigurovat Nginx, aby je neukládal do mezipaměti, přidejte následující kód nad location (~\.php$) řádek ve vašem souboru bloku serveru:

# 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;
}

Ladění vyloučení mezipaměti (volitelné)

Pokud chcete přidat poznámky pro účely ladění, můžete pod každou zahrnout vlastní poznámku set $skip_cache 1; prohlášení jako toto:

set $skip_reason "your custom note";

To může být užitečné pro pochopení toho, proč se určitý obsah během odstraňování problémů neukládá do mezipaměti.

Po provedení těchto konfigurací otestujte konfiguraci a restartujte Nginx:

sudo nginx -t
sudo systemctl restart nginx

Osvědčené postupy a úvahy s mezipamětí Nginx FastCGI

Přestože ukládání do mezipaměti FastCGI může nabídnout významné výhody z hlediska výkonu, je nezbytné zajistit, aby byla konfigurace optimalizována pro váš konkrétní případ použití a prostředky serveru:

  • Než se rozhodnete pro, vyhodnoťte velikost dostupné paměti RAM tmpfs pro ukládání do mezipaměti. Ujistěte se, že váš server má dostatek paměti pro další kritické procesy.
  • Přizpůsobte vyloučení mezipaměti tak, aby vyhovovala vaší aplikaci. Uvedené příklady jsou konkrétně pro WordPress, ale možná budete potřebovat jiná vyloučení pro jiné typy aplikací.
  • Pravidelně sledujte využití a výkon mezipaměti. Pokud mezipaměť zabírá příliš mnoho místa na disku nebo nezlepší výkon podle očekávání, zvažte odpovídající úpravu cesty, velikosti nebo nastavení mezipaměti.

Závěr

No, tady to máte! Prošli jsme kroky k instalaci Nginx FastCGI Cache na váš server Ubuntu, což nabízí zvýšení výkonu vašeho webu efektivním zpracováním dynamického obsahu. Pamatujte, že udržování nastavení mezipaměti tak, aby vyhovovalo potřebám vašeho webu, je klíčem k maximalizaci výhod. Nevyhýbejte se úpravám nastavení, abyste našli to sladké místo. Ať už jste zkušený profesionál nebo nováček ve správě serverů, doufáme, že vám tato příručka byla užitečným pomocníkem při optimalizaci vaší webové prezentace. Udržujte to jednoduché, zůstaňte konzistentní a tady je rychlejší a plynulejší zážitek z webu pro vás a vaše návštěvníky!

Joshua James
Následuj mě
Nejnovější příspěvky uživatele Joshua James (vidět vše)

Napsat komentář