Sådan konfigureres Nginx FastCGI Cache på Ubuntu

Nginx FastCGI Cache booster dit websteds ydeevne ved at reducere belastningen på din Ubuntu-server. Det er især effektivt til dynamisk indhold, hvilket gør det muligt for Nginx at servere cachelagret indhold direkte uden at bruge PHP-processorer. Dette fremskynder responstiden og reducerer ressourceforbruget. Her er nøglefunktionerne og fordelene ved Nginx FastCGI Cache til din webinfrastruktur:

  • Effektiv indholdslevering: Nginx FastCGI Cache gemmer dynamisk indholdsoutput, hvilket muliggør hurtigere adgang og distribution.
  • Reduceret serverbelastning: Visning af cachelagret indhold minimerer antallet af PHP-kald, hvilket letter serverens belastning.
  • Skalerbarhed: Nginx FastCGI Cache hjælper med at administrere øget trafik uden at gå på kompromis med hastigheden, efterhånden som dit websted vokser.
  • Caching, der kan tilpasses: Denne mulighed giver fleksibilitet til at indstille cacheudløb, omgåelse og opdateringsbetingelser, så de passer til dine behov.
  • Forbedret brugeroplevelse: Hurtigere hjemmesideindlæsningstider forbedrer brugeroplevelsen, hvilket påvirker fastholdelse af besøgende og SEO-placeringer positivt.
  • Ressourceoptimering: Optimerer udnyttelsen af ​​serverressourcer, hvilket fører til mere effektiv håndtering af samtidige anmodninger.
  • Nem fejlretning: Giver ligetil mekanismer til at fejlsøge og validere cachelagret indhold, hvilket sikrer jævn drift.
  • Kompatibilitet: Fungerer problemfrit med populære CMS-platforme og forbedrer deres ydeevne uden omfattende konfiguration.

Når vi bevæger os ind i den tekniske vejledning, skal du huske på, at implementering af Nginx FastCGI Cache er en strategisk måde at forbedre dit websteds effektivitet og brugertilfredshed på. Lad os begynde at forbedre dit websteds ydeevne med Nginx FastCGI Cache.

Konfigurer Nginx FastCGI Cache

Rediger Nginx-konfigurationsfilen til FastCGI-cache

Åbn konfigurationsfilen

Først skal du åbne nginx.conf fil. Vi vil bruge nano-teksteditoren, men du kan bruge enhver teksteditor, du er fortrolig med. Indtast denne kommando:

sudo nano /etc/nginx/nginx.conf

Konfigurer FastCGI-parametre

Find HTTP-blokken inde i filen og tilføj følgende linjer:

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

Når du har indtastet linjerne, skal du trykke på CTRL + O, type Y, og tryk derefter på CTRL + X At forlade.

Forstå FastCGI-parametrene

  • fastcgi_cache_path: Denne parameter indstiller placeringen for lagring af FastCGI-cachen (/var/nginx/fastcgi_cache). Det er vigtigt, da det dikterer, hvor det cachelagrede indhold skal ligge.
  • levels=1:2: Dette opretter et bibliotekshierarki på to niveauer under din cacheplacering. Dette design hjælper med at sprede filer på tværs af to mapper, hvilket igen reducerer risikoen for disk I/O flaskehalse.
  • keys_zone: Det angiver navnet på den delte hukommelseszone (fcgicache) og dens størrelse (150M). Den delte hukommelseszone er afgørende for lagring af cachenøgler og metadata.
  • max_size: Dette definerer den maksimale størrelse af cachen (i dette eksempel, 20GB). Når denne grænse er nået, vil de ældste filer blive fjernet for at gøre plads til nye.
  • inactive: Dette angiver varigheden, hvorefter data, der ikke er blevet tilgået, vil blive fjernet fra cachen. I dette eksempel er den indstillet til 60 minutter.
  • use_temp_path: Indstiller dette til off instruerer Nginx om at skrive filer direkte til den angivne cache-mappe og omgå brugen af ​​et midlertidigt lagerområde.
  • fastcgi_cache_key: Den bruges til at definere nøglen til cacheopslag. Nginx opretter en MD5-hash af denne nøgle til brug som navnet på cache-filer.

Konfigurer Nginx-serverblokken til FastCGI-cache

Rediger serverblokfil

Dernæst skal du redigere din serverblokfil. I dette eksempel antager vi, at filen er navngivet example.com.conf. Åbn den med følgende kommando:

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

Indsæt FastCGI Cache-direktiver

Hvis du antager, at du har LEMP installeret, skal du indsætte følgende linjer i placeringsblokken for PHP-filer:

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;

Forstå FastCGI Cache-direktiverne

  • fastcgi_cache: Aktiverer caching og specificerer den delte hukommelseszone, der blev defineret tidligere.
  • fastcgi_cache_valid: Definerer cachens varighed for specifikke HTTP-statuskoder.
  • fastcgi_cache_use_stale: Indstiller betingelser, hvorunder Nginx kan bruge et forældet cache-svar.
  • fastcgi_cache_min_uses: Angiver, hvor ofte et svar skal anmodes om, før det cachelagres.
  • fastcgi_cache_lock: Sikrer, at kun én anmodning ad gangen udfylder et nyt cache-element, hvilket forhindrer en 'cache-stampede'.
  • add_header: Tilføjer en brugerdefineret overskrift (X-FastCGI-Cache) til HTTP-svaret, der angiver, om svaret blev serveret fra cachen.

Konfigurer FastCGI Cache Purge på Nginx

Opsætning af Cache Purge

Cacherensning giver dig mulighed for at fjerne indhold fra cachen, før den udløber. For at konfigurere cacherensning skal du oprette et cacherensningsdirektiv ved at indsætte følgende linjer i din serverblokfil:

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

Trykke CTRL + O, type Y, og tryk derefter på CTRL + X for at afslutte teksteditoren.

Alternativ tilgang til problemer med cacherensning

Hvis du oplever problemer med cacherensning, kan du i stedet justere cachens udløbstid. For websteder med medium til høj trafik er det ofte mere effektivt at indstille en lavere udløbshastighed, såsom 2 timer inaktiv og 4 timer for overordnet udløb.

Test og genstart Nginx-serveren

Test konfigurationen

Det er vigtigt at validere Nginx-konfigurationen for at undgå syntaksfejl eller fejlkonfigurationer. Brug følgende kommando:

sudo nginx -t

Du bør se følgende output, hvis alt er korrekt:

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

Genstart Nginx Server

Til sidst skal du genstarte Nginx-serveren for at anvende de ændringer, du har foretaget:

sudo systemctl restart nginx

Opret og optimer Nginx FastCGI Cache Directory

Opret FastCGI Cache Directory

Lad os nu oprette den mappe, hvor Nginx gemmer cache-filerne. Denne sti blev specificeret tidligere i nginx.conf fil:

sudo mkdir -p /var/nginx/fastcgi_cache

Optimer cachekataloget med tmpfs (valgfrit)

Hvis dit system har tilstrækkelig RAM, kan du vælge at bruge tmpfs for at gemme cachen i hukommelsen. Dette kan resultere i hurtigere adgangstider sammenlignet med disklagring. Vær dog forsigtig, da lagring i RAM kan forbruge betydelige hukommelsesressourcer. Her er hvordan du kan montere cache-mappen som tmpfs:

Redigere /etc/fstab fil:

sudo nano /etc/fstab

Tilføj følgende linje i slutningen af ​​filen:

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

Dette tildeler 512 MB af din RAM til cachen. Du kan justere størrelsen i overensstemmelse hermed baseret på dine systemressourcer.

Monter tmpfs:

sudo mount -a

Denne konfiguration sikrer, at FastCGI-cachen er gemt i hukommelsen, hvilket giver hurtigere ydeevne på bekostning af RAM-udnyttelse.

Valider Nginx FastCGI Cache-funktionalitet

Test FastCGI Cache med curl

Du kan validere, at FastCGI Cache fungerer korrekt ved at bruge curl kommando. Afhængigt af dine cacheindstillinger skal du muligvis køre kommandoen flere gange, før du ser et cachehit:

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

Hvis du ikke har curl installeret, kan du installere det med:

sudo apt install curl -y

I outputtet skal du se efter X-FastCGI-Cache: HIT header:

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

Dette indikerer, at anmodningen blev serveret fra cachen.

Konfigurer cache-ekskluderinger

Websiteelementer som WordPress-administratorsider, kommentarsektioner og sitemaps bør ikke cachelagres. For at konfigurere Nginx til ikke at cache disse, skal du tilføje følgende kode over location (~\.php$) linje i din serverblokfil:

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

Fejlretning af cacheekskluderinger (valgfrit)

Hvis du vil tilføje noter til fejlretningsformål, kan du inkludere en brugerdefineret note under hver set $skip_cache 1; udsagn som denne:

set $skip_reason "your custom note";

Dette kan være nyttigt for at forstå, hvorfor bestemt indhold ikke cachelagres under fejlfinding.

Efter at have lavet disse konfigurationer, skal du sørge for at teste konfigurationen og genstarte Nginx:

sudo nginx -t
sudo systemctl restart nginx

Bedste praksis og overvejelser med Nginx FastCGI Cache

Selvom FastCGI caching kan tilbyde betydelige ydeevnefordele, er det vigtigt at sikre, at konfigurationen er optimeret til din specifikke use case og serverressourcer:

  • Evaluer mængden af ​​tilgængelig RAM, før du vælger tmpfs til caching. Sørg for, at din server har nok hukommelse til andre kritiske processer.
  • Skræddersy cache-ekskluderingerne, så de passer til din applikation. Eksemplerne er specifikt til WordPress, men du har muligvis brug for andre undtagelser for andre typer applikationer.
  • Overvåg regelmæssigt cachebrug og ydeevne. Hvis cachen bruger for meget diskplads eller ikke forbedrer ydeevnen som forventet, kan du overveje at justere cachestien, størrelsen eller indstillingerne i overensstemmelse hermed.

Konklusion

Nå, der har du det! Vi har gennemgået trinene til at installere Nginx FastCGI Cache på din Ubuntu-server, hvilket giver et boost i dit websteds ydeevne ved effektivt at håndtere dynamisk indhold. Husk, at opretholdelse af dine cacheindstillinger, så de passer til dit websteds behov, er nøglen til at maksimere fordelene. Vig ikke tilbage fra at justere indstillinger for at finde det søde sted. Uanset om du er en erfaren professionel eller ny til serveradministration, håber vi, at denne guide har været en praktisk ledsager til at optimere din tilstedeværelse på nettet. Hold det enkelt, forbliv konsekvent, og her er til en hurtigere og mere jævn hjemmesideoplevelse for dig og dine besøgende!

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar