Hoppa till innehåll

WCFV

Analytics Blog

Meny
Meny

konfigurera lack Cache och påskynda din ansökan Laddningstid 10x snabbare

Publicerat den mars 2, 2022 av admin
lack cache

oavsett storleken och komplexiteten i din ansökan, kommer användarna föredrar att stanna eller hålla kommer tillbaka om de njuta av den hastighet med vilken det dynamiska innehållet från din ansökan görs. Förbättrad prestanda, snabb sidleverans och snabb serverrespons är också några av de få faktorer som håller användarna anslutna till din applikation.

dessa och många fler är de bidragande faktorerna för en framgångsrik och populär webbapplikation. Även om det finns flera tekniker och strategier tillgängliga för att påskynda moderna webbapplikationer, har caching visat sig vara mycket mer värdefullt.

varje begäran till en viss sida på din webbplats kommunicerar direkt och får svar från din server. Så varje gång en användare besöker en viss sida gör din front-end ett HTTP-samtal för att hämta lämpligt innehåll och din server är skyldig att svara i enlighet därmed.

för en liten skala webbapplikation, detta kanske inte är för mycket, men när din ansökan börjar skala, ett stort antal förfrågningar till din webbserver kommer gradvis börjar bli för mycket att hantera. Detta anses ofta vara en onödig överbelastning.

att betjäna en webbsida tar upp mycket resurser-särskilt när den genereras dynamiskt som de som skapas via PHP. Därför kommer jag i denna Lackcache-handledning att visa dig hur du ökar hastigheten på din PHP-applikation utan att nödvändigtvis skala vertikalt eller horisontellt utan att använda lack.

Vad är lack Cache och varför använda den

lack cache är en webbapplikation accelerator även känd som caching HTTP reverse proxy. Det fungerar mer som en mellanman mellan din klient (dvs. användare) och din webbserver. Det betyder att i stället för din webbserver att direkt lyssna på förfrågningar om specifikt innehåll hela tiden, tar lack ansvaret.

när en begäran kommer in för första gången kommer lack i PHP att rikta den till webbservern för ett lämpligt svar. Detta svar kommer att cachas av lack i PHP innan det skickas till klienten. Intressant nog kommer varje efterföljande begäran om sådant innehåll bara att serveras direkt från Lackcachen istället för att gå direkt till webbservern. Med detta på plats kommer din webbapplikation att kunna hantera ett stort antal samtidiga förfrågningar från flera användare eftersom servern inte ens kommer att startas. Detta kommer att resultera i en magisk ökning av prestanda för din applikation.

PHP lack använder lack Configuration Language (VCL) så att du kan ändra dess beteende genom att lägga till logik för att manipulera förfrågningar. Du kan manipulera svar som kommer tillbaka från webbservern, ta bort cookies eller lägga till rubriker i svaret.

lack arbetsflöde

Get /some-web-sida (klient) — Macau Cache – Macau Get /some-web-sida (Server) – Macau Cache-Macau tillbaka till klienten.

arbetsflöde för lackcache

lack cache arbetsflöde

låt oss anta den första begäran till sidan tar cirka 200 ms.

nu, när cachning av innehållet på en sådan sida helt, ändras flödet helt och Begäran från klienten till samma sida kommer inte att träffa servern direkt igen, eftersom lack redan har Cachat det tidigare. Ta en titt på illustrationen nedan:

GET /some-web-page (client) – Xiaomi Cache (HIT) . — > och tillbaka till klienten

en efterföljande begäran till sidan 10ms…..

fantastisk rätt?

därför är tanken att minska antalet förfrågningar som skickas till din backend-server så mycket som möjligt. Detta kommer i gengäld att öka sidåtergivningshastigheten för din webbapplikation.

komma igång med Lackkonfiguration

nu, när du har gått vidare med den grundläggande introduktionen av lack och dess cachefunktioner, är det dags att nu konfigurera lack och använda den för en PHP-applikation. Att komma igång med lack är lätt. För att korrekt konfigurera kommer vi att använda och dra en befintlig applikation från GitHub och distribuera den till DigitalOcean-servern. Därefter konfigurerar vi lack.

skapa sedan ett gratis konto på DigitalOcean, och när du har slutfört det klickar du på ”Skapa” – knappen och i rullgardinsmenyn väljer du ”droppar” för att skapa en ny droppe.

bläddra ner för att välja Ubuntu 16.04 och notera att du bör välja storleken på en droppe, den minsta storleken bör räcka för denna lack cache handledning.

bläddra ner för att lägga till en SSH-nyckel, om du har en. Detta hjälper dig att enkelt logga in på servern senare, annars måste du kontrollera din inkorg för standardlösenordet för din droppe. Lägg sedan till ett värdnamn. Jag har namngett min lack-demo. Klicka nu på Skapa för att börja skapa droppen.

när processen är klar ser du den nya droppen i listan över droppar. Gå vidare och Lägg till SSH i din droppe med hjälp av IP-adressen.

gör dig redo för Core Web Vitals Update

Ebook för att påskynda din webbplats innan du börjar förlora trafik.

tack

din lista är på väg till din inkorg.

Installera Nginx webbserver

du kan nu uppdatera paketlistan och installera Nginx. Kör följande kommando för att utföra det:

sudo apt updatesudo apt install -y nginx
  • notera: – y-flaggan är att svara med ett standardsvar på alla frågor som ställts under installationen

på Ubuntu 16.04 är Nginx förkonfigurerad för att börja köras vid installationen, så när installationen är klar kan du besöka IP-adressen för din droppe i webbläsaren:

http://server_domain_or_ip

dra demo från GitHub

jag kommer att använda Git för att dra provprojektet från GitHub, det kommer förinstallerat med Ubuntu 16.04. För att kontrollera om det redan är installerat på din server eller inte, använd kommandot nedan:

git -v

om du får ett meddelande om att Git inte är installerat som standard måste du köra följande kommando för att installera det:

apt install -y git

Därefter måste du använda samma mapp som innehåller standardsidan för Nginx-webbservern, så navigera till den offentliga katalogen:

cd / var / www

ta bort html-mappen, återskapa den och flytta in i den:

rm -rf htmlmkdir htmlcd html

klona nu förvaret

// Install projectgit clone https://github.com/yemiwebby/varnish-demo.git

med detta på plats har du nu ett exempelprojekt installerat på din server. Men det kommer inte att vara tillgängligt för nu, och det beror på att vi inte har installerat PHP. Låt oss göra det.

du kanske också gillar: använda Memcached med PHP

installera PHP och konfigurera Nginx för att använda PHP-processorn

nginx innehåller inte inbyggd PHP-bearbetning som vissa andra webbservrar. Vi installerar en programvara som heter php-fpm och instruerar Nginx att skicka alla PHP-förfrågningar till den. Navigera tillbaka till rotkatalogen på din webbserver och kör följande kommando för att installera PHP-FPM-modulen:

$ cd ~$ sudo apt install php-fpm

när installationsprocessen är klar kan du nu konfigurera Nginx för att använda den installerade PHP-processorn. Öppna standard nginx serverblock konfigurationsfilen med:

sudo nano /etc/nginx/sites-available/default

och ersätta innehållet med:

server { listen 80 default_server; listen :80 default_server; root /var/www/html; index index.php; server_name YOUR_SERVER_IP; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; }}

när du är klar, ladda om Nginx för att göra nödvändiga ändringar:

$ sudo systemctl reload nginx

nu kan du besöka sidan i din favorit webbserver med hjälp av din dropp IP-adress:

http://ip_address

aktivera cachning med lack

om du inspekterar sidan för att se HTTP-rubrikerna från fliken Nätverk kommer du inte att märka några spår av lack eftersom det inte är installerat eller konfigurerat för att hantera någon begäran. Låt oss ändra det genom att installera lack på vår webbserver. För att göra detta, skriv följande kommando:

$ sudo apt install -y varnish

detta kommer att gå igenom processen att installera en Lackcache på din server. Efter installationen, starta och aktivera lack med:

systemctl start varnishsystemctl enable varnish

lack som standard lyssnar på port 6081. För att bekräfta detta, öppna din webbläsare och besök din droplet IP-adress igen, men den här gången, se till att du lägger till:6081 som visas nedan:

Nginx, som är webbservern som ansvarar för att ladda innehållet i din webbapplikation, körs på port 80. För att lack ska kunna ta ansvar för cachning och rendering av sidan så snabbt som möjligt måste den sitta mellan din webbappklient och servern. Detta kommer att säkerställa att varje begäran till din server som oftast kommer att vara på port 80, kommer att avlyssnas av lack, och beroende på om det är en cache hit eller miss, lack kommer att agera på det i enlighet därmed och returnera lämpligt svar.

jag kommer att ändra processen genom att konfigurera lack på port 80 och Nginx på port 8080. Redigera din webbplats nginx-konfigurationsfil igen för att göra detta. I vårt fall är den här filen / etc/nginx/sites-available / default. Ändra 80 till 8080:

server { listen 8080 default_server; listen :8080 default_server; root /var/www/html;}

Port 80 kommer nu att vara fri att använda för Lack. Ladda om din nginx-konfiguration med:

sudo systemctl reload nginx

och kontrollera tillgängligheten för din webbplats med din IP-adress med port 8080 bifogad till den:

när lack installerades tidigare skapades också två konfigurationsfiler på servern. De är:

  • /etc / Standard / lack
  • / etc/lack / standard.vcl

jag kommer att använda dessa filer för konfigurationer som att öppna en port för lack och manipulera förfrågningar. Öppna nu den här filen / etc / default / lack:

sudo nano /etc/default/varnish

# lyssna på port 6081, administration på localhost:6082 och vidarebefordra till

# en Innehållsserver vald av VCL-filen, baserat på begäran.

DAEMON_OPTS= ” – a :6081 \

-T localhost:6082 \

-f / etc/lack / standard.vcl \

– s / etc/lack / secret \

-s malloc,256M”

leta efter raden ovan och ändra-a :6081 till-A :80.

öppna sedan filen / etc/lack / standard.vcl:

sudo nano /etc/varnish/default.vcl

och kontrollera att standard backend är inställd på port 8080, eftersom det är här Nginx tjänar från och med nu. Leta efter raden nedan och se till att .hamnen är 8080.

# standard backend definition. Ställ in detta för att peka på din Innehållsserver.

 backend default { .host = "127.0.0.1"; .port = "8080"; }

nästa sak är att kopiera lacken.servicefil till vår systemd-katalog. Detta gör det möjligt för systemd att starta lack på port 80. Kör kommandot nedan:

$ sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/

detta kopierar Lacktjänstfilen.

nästa, öppna den:

$ sudo nano /etc/systemd/system/varnish.service

och leta efter ExecStart-linjen:

Description=Varnish HTTP acceleratorDocumentation=https://www.varnish-cache.org/docs/4.1/ man:varnishdType=simpleLimitNOFILE=131072LimitMEMLOCK=82000ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.v$ExecReload=/usr/share/varnish/reload-vclProtectSystem=fullProtectHome=truePrivateTmp=truePrivateDevices=trueWantedBy=multi-user.target//ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

ändra nu-F-a: 6081 till-F-A :80. Spara och avsluta filen.

om du kontrollerar nätverksstatistiken med kommandot netstat:

:~# netstat -plntu

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:6081 0.0.0.0:* LISTEN 13257/varnishd

tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 13257/varnishd

tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2440/nginx -g daemo

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1648/sshd

tcp6 0 0 :::6081 :::* LISTEN 13257/varnishd

tcp6 0 0 :::8080 :::* LISTEN 2440/nginx -g daemo

tcp6 0 0 :::22 :::* Lyssna 1648 / sshd

du kommer att märka att lack cache fortfarande körs på port 6081. Ändra det genom att starta om lack:

systemctl daemon-reloadsystemctl restart varnish

och starta om Nginx.

sudo service nginx restart

just nu, om du besöker IP-adressen på din webbsida, kommer du att märka att webbplatsen fortfarande fungerar perfekt, men inspektion av HTTP-rubriken indikerar att lack är installerat och körs.

Du Kanske Också Gillar: Integrera PHP Opcache & gör din ansökan vinna stort med prestanda

en översikt över lack intern

lack utlöser ett par rutiner när du slutför behandlingen av cachningsinnehållet i din webbapplikation. Låt oss ta en titt på några av de viktigaste rutinerna och vad var och en gör för att säkerställa att innehållet levereras med ljusets hastighet vilket i sin tur kommer att förbättra prestandan för din webbapplikation:

  • sub vcl_recv {}: det här är den första raden som lack kommer att träffa när din klient accepterar en begäran.
  • sub vcl_backend_response {}: denna återuppringning anropas efter svar och har hämtats från backend-servern. Du kan också göra ändringar i svaret här i det här blocket.
  • sub vcl_backend_fetch {}:
  • sub vcl_deliver {}: detta är den sista rutinen som VCL kommer att träffa innan du skickar ett svar till klienten. Här kan du enkelt göra några rensningar, som att ta bort vad du inte vill att klienten ska se och så vidare.

F: Hur man rensar lack cache?

A: Du kan rensa all Lackcache från kommandoraden med ban-kommandot:
varnishadm ”förbud.URL .”#Matchar alla webbadresser
du kan också förbjuda vissa cachar genom att beskriva värdnamnet:
varnishadm ”ban req.http.värd = = xxx.com ”

F: Hur inaktiverar du Lackcache?

en: Du kan enkelt inaktivera lack från din webbplats genom att redigera .htaccess-fil med följande kod:
Header Lägg till ”Cache-Control” ”no-cache”
detta kommer tillfälligt att inaktivera lack från din webbplats. Du kan senare aktivera lack genom att ta bort följande kod.

Q: Hur man rensar Lackcache med CLI?

A: Du kan rensa eller rensa Lackcachen genom att helt enkelt starta om Lacktjänsten. Detta kommer att rensa alla lack cache eftersom det lagras i minnet som standard:
/etc / lack omstart
eller
service lack omstart

F: Hur man kontrollerar om lack cache fungerar eller inte?

A: för att kontrollera om din Lacktjänst fungerar bra eller inte, Använd X-Lackhuvudet som låter dig veta tjänstens aktiva/icke-aktiva tillstånd. För att se mer detaljerat om det slår på cachen, Använd X-Cache-rubriken för att få en fullständig analys av cachar.

Q: lack cache vs Memcached: vilken är bättre?

A: båda lack & Memcached är användbara i synnerhet cachningsdomäner, men det finns vissa skillnader mellan de två.
du kan använda Memcached som en in-memory, distribuerad backend för caching applikationer tillgångar.
medan lack används som en omvänd proxy till externt cache programmets HTTP-förfrågningar.
Memcached kan betecknas som det allmänna cachningssystemet eftersom det cachar resultat från databasen och kräver små förändringar i GET-metoden.
medan lack fungerar bakom webbservern, cachar webbsidor och kräver inte ändringar i kod.

sista ord

i det här inlägget har jag knappt repat ytan på vad du kan göra med lack. Det är så kraftfullt att du kan göra mycket mer med det. Förutom att kunna cacha innehållet i din webbapplikation och hantera förfrågningar kan lack cache också användas som lastbalanserare och mycket mer.

kontrollera den officiella dokumentationen här för att lära dig mer om lack och andra fantastiska konfigurationer som kan utföras med den. Lämna gärna en kommentar, fråga eller förslag i kommentarsektionen nedan.

dela din åsikt i kommentarsektionen. Kommentera nu

dela den här artikeln

kundrecension på

”Cloudways hosting har en av de bästa kundservicen och värdhastigheten”

Sanjit C

Olususi k Oluyemi

en teknisk entusiast, programmeringsfreak och en webbutvecklingsjunkie som älskar att omfamna ny teknik.

bli ansluten på: Twitter Community Forum

Lämna ett svar Avbryt svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Senaste inläggen

  • icke-metalliskt guld och målning tålamod
  • Enkla sätt att göra Cake Pops utan mögel
  • Guide För Odling Av Oljepalmer (Palmolja)
  • glömt iPod Nano lösenord
  • att leva med Anorexia Nervosa
  • Google SketchUp Pro 2022 spricka 21.0.339
  • överdriven Motorcykelmotorvibration – orsaker och lösningar
  • hur öppnar man STP-filen i autocad?
  • Dia De los Muertos Mask
  • Skapa en Peyote Bezel
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어

Arkiv

  • mars 2022
  • februari 2022
  • januari 2022
  • december 2021
  • november 2021
  • oktober 2021
  • september 2021

Meta

  • Logga in
  • Flöde för inlägg
  • Flöde för kommentarer
  • WordPress.org
© 2022 WCFV | Drivs med Superbs Personligt bloggtema