Kada ste omogućili predmemoriranje u Nginxu Plus, on sprema odgovore na predmemorijski disk, a oni se dalje koriste za odgovaranje klijentima bez zadržavanja proxy zahtjeva za svaki put s istim sadržajem. Predmemoriranje Nginx Plus-a ima više mogućnosti u koje su uključene najkorisnije značajke, poput čišćenja predmemorije, odgođenog predmemoriranja i dinamičkog predmemoriranja sadržaja.
U ovom ćemo članku naučiti više o predmemoriranju, kao što je kako omogućiti i onemogućiti predmemoriranje na Nginx poslužitelju na Linux sustavu.
Kako omogućiti keširanje?
U gornju razinu konteksta http uključite direktivu proxy_cache_path da biste omogućili predmemoriranje. Prvi parametar, koji je lokalna staza datotečnog sustava za predmemorirani sadržaj, i parametar keys_zone koji definira veličinu i naziv dijeljene memorijske zone, obvezni su. Posljednji parametar, keys_zone, pohranjuje metapodatke predmemoriranih stavki:
http..
proxy_cache_path / data / nginx / cache keys_zone = one: 10m;
Morate uključiti proxy_cache direktivu da definirate stavke kao što su (vrsta protokola i mjesto ili adresa virtualnog poslužitelja) u http kontekstu. Kroz koje želite predmemorirati odgovore poslužitelja, spomenite naziv zone, koji je definiran parametrom keys_zone u direktivi proxy_cache_path (koji je u ovom slučaju jedan):
http..
proxy_cache_path / data / nginx / cache keys_zone = one: 10m;
poslužitelj
proxy_cache mycache;
lokacija /
proxy_pass http: // localhost: 8000;
Primjećuje se da veličina, koja je definirana u parametru keys_zone, ne utječe na ukupnu količinu predmemoriranog odgovora. Svi odvojeno predmemorirani odgovori spremaju se u određene datoteke s kopijom metapodataka na vašem datotečnom sustavu. Međutim, ako želite ograničiti ukupni iznos podataka predmemoriranog odgovora, tada parametar max_size možete uključiti u direktivu u proxy_cache_path.
Kako ograničiti ili onemogućiti predmemoriranje?
Svi odgovori ostaju pohranjeni u predmemoriji na neodređeno vrijeme. Ti se odgovori uklanjaju samo kada premašuju definiranu maksimalnu veličinu i vrijeme duljine od zadnjeg traženja. Ali, možete podesiti prema vašim prikladnim sredstvima koliko se vremena ti predmemorirani odgovori smatraju valjanima ili čak ako ih koriste različite direktive na poslužitelju , http ili u kontekstu lokacije . Međutim, da biste ograničili predmemorirane odgovore koji se smatraju valjanima, morate uključiti direktivu s imenom proxy_cache_valid.
Definirajmo na primjeru koncept ograničenja predmemorije. U dolje navedenom primjeru, 200 ili 302 odgovora koda smatraju se valjanima 10 minuta, a 404 odgovora vrijede do 1 minute.
proxy_cache_valid 200 302 10m;proxy_cache_valid 404 1m;
Dakle, također možete definirati valjanost predmemoriranih odgovora vremena za sve statusne kodove kako biste definirali parametar 'bilo koji' koji također možete vidjeti u donjem retku koda:
proxy_cache_valid bilo koji 5m;Postoje neki uvjeti pod kojima Nginx ne šalje predmemorirane odgovore klijentima, pa uključite direktivu proxy_cache_bypass. Svaki parametar u primjeru u nastavku definira uvjete i ima niz varijabli. Ako barem jedan parametar nije jednak nuli '0' ili nije prazan, Nginx ne pronalazi odgovor u predmemoriji i odmah traži prosljeđivanje pozadinskom poslužitelju.
proxy_cache_bypass $ cookie_nocache $ arg_nocache $ arg_comment;Pod uvjetom da želite da Nginx ne predmemorira odgovor. Zatim ćete uključiti proxy_no_cache direktivu i definirati sve sljedeće parametre:
proxy_no_cache $ http_pragma $ http_authorization;Zaključak
Keširanje pruža više značajki na Nginx poslužitelju. U ovom smo članku također istražili kako možemo omogućiti ili onemogućiti predmemoriranje, uključujući sve direktive i parametre. Da biste istražili više, veću pomoć možete dobiti od mrežnih izvora. Nadam se da će vam gornji članak o predmemoriranju biti informativan.