Ebben az oktatóanyagban gyorsan megvitatjuk a try_files irányelv használatát, és megtanuljuk, mikor és hogyan kell használni:
Mi a try_files irányelv és hogyan működik?
Általában az Nginx try_files direktíva segítségével rekurzív módon ellenőrizzük, hogy a fájlok egy adott sorrendben léteznek-e, és az első helyen található fájlt szolgáltatják.
A try_file irányelv a kiszolgálón és a hely blokkokban található, és meghatározza azokat a fájlokat és könyvtárakat, amelyekben az Nginx-nek ellenőriznie kell a fájlokat, ha a megadott helyre irányuló kérés érkezik. A try_files direktíva tipikus szintaxisa a következő:
hely /try_files $ uri $ uri / / default / index.html;
A hely / blokk megadja, hogy ez minden helynek megfelelő, hacsak nincs kifejezetten megadva hely /
A második blokkon belül a try_files azt jelenti, hogy ha az Nginx kérést kap az URI-hez, amely megegyezik a hely blokkjával, akkor először próbálkozzon a $ uri-val, és ha a fájl jelen van, akkor tálalja a fájlt.
Például, ha egy olyan kérés, mint a https: // linuxhint.com / blocks / io.Az sh megkapta, az Nginx először megkeresi a fájlt a / blocks könyvtárban, és kiszolgálja a fájlt, ha rendelkezésre áll.
A következő rész (/ default / index.html) megad egy tartalék opciót, ha a fájl nem az első param-ben van. Például, ha a fájl nincs a / block könyvtárban, az Nginx megkeresi az / default könyvtárat, és kiszolgálja a fájlt, ha létezik.
Alapértelmezés szerint az Nginx tiltja a könyvtárak listáját, és 403 Tiltottat kap, hacsak nincs bekapcsolva az automatikus index.
Ha az Nginx nem találja meg a fájlt a megadott helyeken, akkor egy 404 nem található hibát jelenít meg a felhasználó számára.
JEGYZET: Az Nginx try_files direktívája rekurzívan keresi a balról jobbra megadott fájlokat és könyvtárakat, amíg meg nem találja azokat. Ezen irányelv megadása a helyszínen / teljesítményproblémákat okozhat, különösen a nagy forgalmú helyeken. Ezért kifejezetten meg kell adnia a try_files helyblokkot.
Következtetés
Ez a gyors és egyszerű útmutató áttekintést adott az Nginx try_block működéséről. Javasoljuk, hogy merüljön el mélyen az Nginx dokumentációjában, hogy megértse a különféle blokkokat és mikor használja őket.
- https: // nginx.org / en / docs / http / ngx_http_core_module.html # try_files
- https: // docs.nginx.com / nginx / admin-guide / web-server / serving-static-content /