
sovelluksen koosta ja monimutkaisuudesta riippumatta käyttäjät haluavat jäädä tai palata, jos he nauttivat siitä nopeudesta, jolla sovelluksesi dynaaminen sisältö renderoidaan. Parantunut suorituskyky, Nopea sivun toimitus ja nopea palvelimen vastaus ovat myös joitakin niistä harvoista tekijöistä, jotka pitävät käyttäjät koukussa sovellukseen.
nämä ja monet muut ovat vaikuttavina tekijöinä kaikissa onnistuneissa ja suosituissa verkkosovelluksissa. Vaikka on olemassa useita tekniikoita ja strategioita, jotka auttavat nopeuttamaan nykyaikaisia verkkosovelluksia, välimuistiin tallentaminen on osoittautunut paljon arvokkaammaksi.
jokainen pyyntö tietylle sivulle verkkosivustollasi viestii suoraan ja saa vastauksia palvelimeltasi. Joten joka kerta, kun käyttäjä vierailee tietyllä sivulla, sinun front-end tekee HTTP-puhelun hakea sopivaa sisältöä ja palvelin on pakko vastata vastaavasti.
pienimuotoiselle verkkosovellukselle tämä ei välttämättä ole liikaa, mutta kun sovelluksesi alkaa skaalautua, valtava määrä pyyntöjä www-palvelimellesi alkaa vähitellen olla liikaa käsiteltäväksi. Tätä pidetään usein turhana ylikuormituksena.
verkkosivun palveleminen vie paljon resursseja – varsinkin, kun se syntyy dynaamisesti kuten PHP: n kautta luodut. Siksi, tässä lakka välimuisti opetusohjelma, näytän sinulle, miten lisätä nopeutta PHP sovellus ilman välttämättä skaalaus pysty-tai vaakasuunnassa, mutta käyttäen lakka.
mikä on lakan välimuisti ja miksi käyttää sitä
lakan välimuisti on web-sovelluskiihdytin, joka tunnetaan myös välimuistin HTTP-käänteispalveluna. Se toimii enemmän kuin välikäsi asiakkaan (eli käyttäjän) ja web-palvelimen välillä. Se tarkoittaa, että sen sijaan, että web-palvelin suoraan kuunnella pyyntöjä tietyn Sisällön koko ajan, lakka ottaa vastuun.
kun pyyntö tulee ensimmäisen kerran, lakka PHP: ssä ohjaa sen WWW-palvelimelle sopivaa vastausta varten. Lakka tallentaa tämän vastauksen välimuistiin PHP: ssä ennen sen lähettämistä asiakkaalle. Mielenkiintoista on, että kaikki myöhemmät pyynnöt tällaisesta sisällöstä vain tarjoillaan suoraan lakan välimuistista sen sijaan, että ne menisivät suoraan www-palvelimelle. Kun tämä on käytössä, verkkosovelluksesi pystyy hallitsemaan valtavaa määrää samanaikaisia pyyntöjä useilta käyttäjiltä, koska palvelinta ei edes käynnistetä. Tämä johtaa maagiseen suorituskyvyn lisääntymiseen sovelluksessasi.
PHP-lakka käyttää lakan Konfiguraatiokieltä (VCL), jonka avulla sen käyttäytymistä voi muokata lisäämällä logiikkaa pyyntöjen manipulointiin. Voit manipuloida web-palvelimelta tulevia vastauksia, poistaa evästeitä tai lisätä vastaukseen otsikoita.
lakan työnkulku
Get / some-web — page (client) – → Cache- → Get /some-web – page (Server) –→ Cache – → Back to client.

oletetaan, että ensimmäinen pyyntö sivulle vie noin 200ms.
nyt, kun tällaisen sivun sisältö on välimuistissa kokonaan, virtaus muuttuu kokonaan eikä asiakkaan pyyntö samalle sivulle osu enää suoraan palvelimeen, koska lakka on välimuistannut sen jo aiemmin. Katso alla oleva kuva:
GET / some-web-page (client) – → Cache (HIT) . — > ja takaisin asiakkaalle
myöhempi pyyntö sivulle 10ms…..
mahtava eikö?
siksi ideana on vähentää taustapalvelimelle lähetettyjen pyyntöjen määrää mahdollisimman paljon. Tämä puolestaan lisää sivun renderöintinopeutta web-sovelluksellesi.
lakan kokoonpanon aloittaminen
nyt, kun olet edennyt lakan perusesittelyn ja sen välimuistiominaisuuksien kanssa, on aika määrittää lakka ja käyttää sitä PHP-sovellukseen. Lakan kanssa aloittaminen on helppoa. Oikein määritettäessä käytämme GitHubista olemassa olevaa sovellusta ja otamme sen käyttöön DigitalOcean-palvelimelle. Sen jälkeen, me määrittää lakka.
luo seuraavaksi ilmainen tili Digitaloceaniin, ja kun olet suorittanut sen, klikkaa ”Luo” – painiketta ja valitse pudotusvalikosta ”pisarat” luodaksesi uuden pisaran.
vieritä alas valitaksesi Ubuntu 16.04: n ja huomaa, että sinun pitäisi valita pisaran koko, pienimmän koon pitäisi riittää tähän lakan välimuistiopastukseen.
vieritä alas lisätäksesi SSH-avaimen, jos sinulla on sellainen. Tämä auttaa sinua helposti kirjautua palvelimelle myöhemmin, muuten sinun täytyy tarkistaa saapuneet oletussalasana Oman pisaran. Lisää seuraavaksi konenimi. Olen nimennyt omani lakka-demoksi. Napsauta Luo – painiketta aloittaaksesi pisaran luomisen.
kun prosessi on valmis, näet uuden pisaran pisaraluettelossa. Lisää SSH pisaraasi IP-osoitteen avulla.



Get Ready for Core Web Vitals Update
Ebook to Speed Up Your Website Before You Start Losing Traffic.
Kiitos
listasi on matkalla sähköpostiisi.
Asenna nginx-verkkopalvelin
voit nyt päivittää pakettiluettelon ja asentaa Nginxin. Suorita seuraava komento suorittaaksesi tämän:
sudo apt updatesudo apt install -y nginx
- Huomautus: – y-lippu on vastata oletusvastauksella mihin tahansa kysymykseen, joka on esitetty asennuksen aikana
Ubuntu 16.04: ssä, Nginx on valmiiksi määritetty käynnistämään asennuksen, joten kun asennus on valmis, voit käydä pisarasi IP-osoitteen selaimessa:
http://server_domain_or_ip
vedä demo GitHubista
käytän Git: tä vetämään näyteprojektin GitHubista, se tulee esiasennettuna Ubuntu 16.04: llä. Jos haluat tarkistaa, onko se jo asennettu palvelimeesi vai ei, käytä alla annettua komentoa:
git -v
jos saat viestin, että GIT: tä ei ole asennettu oletusarvoisesti, sinun on suoritettava seuraava komento asentaaksesi sen:
apt install -y git
Seuraavaksi sinun on käytettävä samaa kansiota, jossa on nginx-verkkopalvelimen oletussivu, joten siirry julkiseen hakemistoon:
cd / var / www
Poista html-kansio, luo se uudelleen ja siirrä siihen:
rm -rf htmlmkdir htmlcd html
nyt, kloonaa arkisto
// Install projectgit clone https://github.com/yemiwebby/varnish-demo.git
kun tämä on paikallaan, sinulla on nyt näyteprojekti asennettuna palvelimeesi. Mutta se ei ole käytettävissä nyt, ja se johtuu siitä, että emme ole asentaneet PHP. Tehdään niin.
saatat myös pitää: Memcachedin käyttäminen PHP: n kanssa
PHP: n asentaminen ja Nginxin määrittäminen käyttämään PHP-prosessoria
Nginx ei sisällä natiivia PHP-käsittelyä kuten jotkut muut verkkopalvelimet. Asennamme PHP-fpm-nimisen ohjelmiston ja ohjeistamme Nginxiä välittämään kaikki PHP-pyynnöt sille. Siirry takaisin WWW-palvelimen juurihakemistoon ja suorita seuraava komento asentaaksesi PHP-FPM-moduulin:
$ cd ~$ sudo apt install php-fpm
kun asennus on valmis, voit nyt määrittää Nginx käyttämään asennettua PHP-suoritinta. Avaa Nginx-palvelimen oletuslohkoasetustiedosto ohjelmalla:
sudo nano /etc/nginx/sites-available/default
ja korvata sen sisällön:
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; }}
kun olet valmis, lataa nginx uudelleen tehdäksesi tarvittavat muutokset:
$ sudo systemctl reload nginx
nyt voit vierailla sivulla suosikkiverkkopalvelimellasi pisaran IP-osoitteen avulla:
http://ip_address
Varish
jos tarkastat sivun nähdäksesi HTTP-otsikot verkko-välilehdestä, et huomaa lakan jälkiä, koska sitä ei ole asennettu tai määritetty käsittelemään mitään pyyntöjä. Muutetaan se asentamalla lakka web-palvelimellemme. Voit tehdä tämän kirjoittamalla seuraavan komennon:
$ sudo apt install -y varnish
Tämä menee läpi asennuksen lakka välimuisti palvelimelle. Kun olet suorittanut asennuksen, Aloita ja ota lakka käyttöön:
systemctl start varnishsystemctl enable varnish
lakka kuuntelee oletuksena porttia 6081. Voit vahvistaa tämän avaamalla selaimesi ja käymällä pisaran IP-osoitteesi uudelleen, mutta tällä kertaa varmista, että lisäät:6081 kuten alla on esitetty:
nginx, joka on web-sovelluksen sisällön lataamisesta vastaava verkkopalvelin, toimii portilla 80. Jotta lakka voisi ottaa vastuun välimuistin tallentamisesta ja sivun renderöinnistä mahdollisimman nopeasti, sen on istuttava verkkosovellusasiakkaasi ja palvelimen välissä. Tämä varmistaa, että kaikki palvelimellesi lähetetyt pyynnöt, jotka ovat enimmäkseen portissa 80, siepataan lakalla, ja riippuen siitä, onko kyseessä välimuistin osuma vai huti, lakka toimii sen mukaisesti ja palauttaa asianmukaisen vastauksen.
muutan prosessia määrittämällä lakan porttiin 80 ja Nginxin porttiin 8080. Voit tehdä tämän muokkaamalla sivustosi nginx-asetustiedostoa uudelleen. Meidän tapauksessamme tämä tiedosto on/etc/nginx/sites-available / default. Vaihda 80: een 8080:
server { listen 8080 default_server; listen :8080 default_server; root /var/www/html;}
portti 80 on nyt vapaasti käytössä lakalle. Lataa nginx-asetuksesi uudelleen:
sudo systemctl reload nginx
ja tarkista verkkosivujesi saatavuus IP-osoitteesi avulla portilla 8080 sen liitteenä:
kun lakka asennettiin aiemmin, palvelimelle luotiin myös kaksi asetustiedostoa. Ne ovat:
- /etc / default / lakka
- /etc/lakka / default.vcl
käytän näitä tiedostoja kokoonpanoihin, kuten portin avaamiseen lakalle ja pyyntöjen käsittelyyn. Nyt, avaa tämä tiedosto / etc / default / lakka:
sudo nano /etc/default/varnish
# Kuuntele port 6081: ssä, hallinto localhostissa:6082, ja edelleen
# yksi sisältöpalvelin, jonka VCL-tiedosto on valinnut pyynnön perusteella.
DAEMON_OPTS= ” – a:6081 \
-T localhost:6082 \
-f / etc / lakka / oletusarvo.vcl \
– s/etc/lakka / secret \
– s malloc,256M”
Etsi yllä oleva rivi ja vaihda-a :6081-a :80.
avaa seuraavaksi tiedosto / etc/lakka / default.vcl:
sudo nano /etc/varnish/default.vcl
ja tarkista, että oletustaustajärjestelmä on asetettu porttiin 8080, koska nginx palvelee tästä lähtien tässä. Etsi rivi alla ja varmista .portti on 8080.
# Oletustaustan määrittely. Aseta tämä osoittamaan sisältöpalvelimeesi.
backend default { .host = "127.0.0.1"; .port = "8080"; }
seuraavaksi on vuorossa lakan kopiointi.service tiedosto meidän systemd hakemistoon. Tämä mahdollistaa systemd aloittaa lakka port 80. Suorita komento alla:
$ sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/
tämä kopioi lakan huoltotiedoston.
seuraavaksi avaa se:
$ sudo nano /etc/systemd/system/varnish.service
ja etsi ExecStart line:
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
vaihda nyt-F-a: 6081: ksi-F-a: 80: ksi. Tallenna ja poistu tiedostosta.
jos tarkistat verkkotilastot netstat-komennolla:
:~# 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 :::* Kuuntele 1648 / sshd
huomaat, että lakan välimuisti on edelleen käynnissä portilla 6081. Muuta sitä käynnistämällä lakka uudelleen:
systemctl daemon-reloadsystemctl restart varnish
ja myös käynnistä Nginx uudelleen.
sudo service nginx restart
tällä hetkellä, jos käyt verkkosivustosi IP-osoitteessa, huomaat, että sivusto toimii edelleen täydellisesti, mutta HTTP-otsikon tarkastaminen osoittaa, että lakka on asennettu ja käynnissä.
Saatat Myös Pitää: Integrate PHP Opcache & Make your Application Win Big with Performance
an overview of lakka internal
lakka laukaisee pari rutiinia web-hakemuksesi välimuistisisällön käsittelyn aikana. Katsotaanpa katsomaan joitakin tärkeimpiä rutiineja, ja mitä kukin tekee varmistaakseen, että sisältö toimitetaan valon nopeudella, joka puolestaan parantaa suorituskykyä web-sovelluksen:
- sub vcl_recv {}: tämä on ensimmäinen rivi, johon lakka osuu, kun asiakkaasi hyväksyy pyynnön.
- sub vcl_backend_response {}: tätä takaisinsoittoa kutsutaan vastauksen jälkeen ja se on noudettu taustapalvelimelta. Voit myös tehdä muutoksia vastaukseen täällä tässä lohkossa.
- sub vcl_backend_fetch {}:
- sub vcl_deliver {}: tämä on viimeinen rutiini, johon VCL osuu ennen vastauksen lähettämistä asiakkaalle. Täällä voit helposti tehdä joitakin puhdistuksia, kuten poistaa mitä et halua asiakkaan näkevän ja niin edelleen.
K: Miten poistaa lakka välimuisti?
A: Voit poistaa kaikki lakan välimuistit komentoriviltä ban-komennolla:
varnishadm ” ban.URL .”# Vastaa kaikkia URL-osoitteita
voit myös kieltää tietyt välimuistit kuvailemalla hostnimen:
varnishadm ” ban req.http.host == xxx.com ”
Q: Miten Lakkavälimuistin voi poistaa käytöstä?
a: Voit helposti poistaa lakan sivustoltasi muokkaamalla .htaccess-tiedosto, jossa on seuraava koodi:
Header add ”Cache-Control” ”no-cache”
Tämä poistaa Varishin väliaikaisesti sivustoltasi. Lakkauksen voi myöhemmin ottaa käyttöön poistamalla seuraavan koodin.
Q: Miten puhdistaa lakka välimuisti CLI?
A: Lakkakätkön voi tyhjentää tai puhdistaa yksinkertaisesti käynnistämällä Lakkauspalvelun uudelleen. Tämä puhdistaa kaikki Lakkavälimuisti, koska se on oletuksena tallennettu muistiin:
/etc/lakka restart
tai
huoltolakka restart
Q: Miten tarkistaa, toimiiko Lakkavälimuisti vai ei?
A: tarkista, toimiiko Lakkauspalvelusi hyvin vai ei, käytä X-lakka-otsikkoa, josta tiedät palvelun aktiivisen / ei-aktiivisen tilan. Katso tarkemmin, osuuko se välimuistiin, käytä X-Cache-otsikkoa saadaksesi täydellisen analyysin välimuisteista.
Q: lakan välimuisti vs Memcached: kumpi on parempi?
A: molemmat lakat & Memcached ovat hyödyllisiä erityisesti välimuistin alueilla, mutta näiden kahden välillä on joitakin eroja.
voit käyttää Memcachedia muistissa, hajautettuna taustajärjestelmänä välimuistisovellusten resursseihin.
kun lakka käytetään käänteisenä välityspalvelimena ulkoisesti välimuistisovelluksen HTTP-pyyntöihin.
Memcachedia voidaan kutsua yleiskäyttöiseksi välimuistijärjestelmäksi, koska se välimuistaa tuloksia tietokannasta ja vaatii vain vähän muutoksia GET-menetelmään.
kun taas lakka toimii WWW-palvelimen takana, kätkee verkkosivuja eikä vaadi muutoksia koodiin.
viimeiset sanat
tässä viestissä olen hädin tuskin raapaissut pintaa siitä, mitä lakalla voi tehdä. Se on niin voimakas, että sillä voi tehdä paljon enemmän. Sen lisäksi, että voit tallentaa verkkosovelluksesi sisällön ja käsitellä pyyntöjä, lakka-välimuistia voidaan käyttää myös kuorman tasapainottajana ja paljon muuta.
Katso viralliset asiakirjat täältä saadaksesi lisätietoja lakasta ja muista mahtavista kokoonpanoista, jotka voidaan suorittaa sitä käyttäen. Voit vapaasti jättää kommentin, kysymyksen tai ehdotuksen alla olevaan kommenttiosioon.
Jaa tämä artikkeli
Asiakasarvio osoitteessa
”Cloudways hosting on yksi parhaista asiakaspalvelun ja hostauksen nopeus”
Sanjit C
Olususi k Oluyemi
tekniikan harrastaja, ohjelmointifriikki ja web-kehityksen narkkari, joka rakastaa uuden teknologian omaksumista.