Ennen kuin puhutaan web-välimuistista, puhutaan CDN:stä, sisällönjakeluverkosta (CDN) on hajautettu verkko, joka rakennetaan ja katetaan kantajaverkon päälle, ja joka koostuu reunasolmupalvelinlaivastosta ympäri maailmaa. CDN voi jakaa alkuperäispalvelimen painetta, välttää verkon ruuhkia, varmistaa verkkosivuston sisällön jakelun eri alueilla ja tilanteissa sekä parantaa resurssien pääsyn nopeutta. CDN välimuistittaa alkuperäispalvelimen resurssit IDC:n kiihdytyssolmuihin ympäri maailmaa, jotta kun loppukäyttäjät pyytävät pääsyä ja saavat alkuperäispalvelinresursseja, he voivat saada välimuistissa olevat resurssit läheisiltä CDN-solmuilta, parantaa resurssien käyttönopeutta ja jakaa paineen origin-palvelimille.
Kuten seuraavassa kuvassa näkyy:
Yksinkertaisesti sanottuna, kun käyttäjät käyttävät joitakin staattisia resursseja, he eivät saa niitä alkuperäispalvelimelta CDN:n käytön jälkeen, vaan löytävät CDN-palvelun lähimpänä nykyistä käyttäjää laskennan ja palautustietojen avulla.
Web-välimuistin arvot ovat palvelu käyttäjän ja alkuperäispalvelimen välillä, ja Nginx tarjoaa web-välimuistitoiminnot natiivisti. Muita ovat Varnish, Squid ja Cachewall, jotka ovat verkkovälimuistin välityspalvelijoita (joista osa ei tarjoa pelkästään verkkovälimuistia).
Tietoa Nginx-välimuistin konfiguraatiodokumentaatiosta:Hyperlinkin kirjautuminen on näkyvissä.
Ensinnäkin, kun pääsemme resurssiin ensimmäistä kertaa välimuistipalvelun kautta, välimuistitila onKAIVATA, pyytää alkuperäispalvelinta hakemaan sen, kuten alla olevassa kuvassa näkyy:
Kun pääsemme resurssiin toisen kerran, huomaamme, että resurssi on välimuistissa ja tila onLYÖDÄ, kuten alla olevassa kuvassa näkyy:
Nginxin pääkonfiguraatioparametrit ovat seuraavat:
Pääparametrit:
proxy_cache_path/data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=180d use_temp_path=off;
●polku: Pakollinen parametri, joka määrittää välimuistissa olevien tiedostojen tallennuspolun. ●tasot: Määrittelee välimuistihakemiston hierarkian. Jokainen kerros voidaan esittää numerolla 1 (enintään 16 vaihtoehtoa, 0-f) tai 2 (enintään 256 vaihtoehtoa, 00-ff), erotettuna : keskellä. proxy_cache_path /data/nginx/cache; Tämä tarkoittaa, että kaikilla välimuistiilla on vain yksi hakemisto, kuten /data/nginx/cache/d7b6e5978e3f042f52e875005925e51b proxy_cache_path /data/nginx/cache levels=1:2; Se tarkoittaa, että välimuisti on toisen tason hakemisto (16*256=4096 hakemistolla), kuten /data/nginx/cache/b/51/d7b6e5978e3f042f52e875005925e51b ● keys_zone: Pakollinen parametri, määrittele jaetun muistialueen nimi ja koko, jota käytetään välimuistikohteen metatietojen (kaikki aktiiviset avaimet ja välimuistiin liittyvät tiedot) tallentamiseen, jotta nginx voi nopeasti määrittää, osuuko pyyntö välimuistiin vai osuuko se ohi, 1m voi tallentaa 8000 avainta, 10m 80000 avainta, 10m 80000 avainta, 10m 80000 avainta. ●inaktiivinen: Poistaa välimuistitiedostoja, joita ei ole käytetty määritellyn ajan kuluessa, oletuksena 10 minuuttia. ●max_size: Välimuistin yläraja on asetettu, ja jos sitä ei ole määritelty, kaikki levytila kuluu korkeintaan. ● use_temp_path: Aseta väliaikaiset tiedostot suoraan välimuistihakemistoon.
proxy_cachemy_cache; #指定用于页面缓存的共享内存 vyöhykkeen nimi määritellään proxy_cache_path direktiivillä
proxy_cache_min_uses1; ## määrittelee välimuistikynnyksen, kuinka monta kertaa pyyntö välimuistitetaan, eikä välimuistita matalan taajuuden pyyntöjä hukkaan heittämisen välttämiseksi.
proxy_cache_valid200 3m; #为不同的响应状态码设置不同的缓存时间 kyseessä on pyyntö, jonka välimuistitilakoodi on 200 ja välimuistin kesto 3 minuuttia
proxy_cache_key$request_uri; #指定缓存文件的key为请求的URI
add_headernginx-cache-status $upstream_cache_status; #把缓存状态设置为头部信息, vastaa asiakkaalle
proxy_passhttp://webservers; #设置代理转发的后端服务器的协议和地址
Käytä Nginx-välimuistivälityspalvelinta kyselymerkkijonojen ohittamiseen
(Loppu)
|