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 Y
a 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říkladu20GB
). 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í naoff
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 Y
a 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!