Má každodenní práce byla nahrávat stovky fotek na webové stránky. Server ale nahrávání vždy ukončil a uložil pouze 20. Vzhledem k pomalému internetu a častým výpadkům jsem se rozhodl napsat si vlastní AJAXový skript, který nahrává fotky postupně a při výpadku provede obnovení nahrávání.
Kvůli AJAXu jsem ale potřeboval, aby se můj nahrávací skript pro prohlížeč tvářil, jakoby byl součástí webu. Využil jsem tedy nginx server a nakonfiguroval jednoduchý proxy server. Ten požadovanou URL přesměruje na localhost, zatímco všechny ostatní URL přesměruje na původní server.
Konfigurace
Začal jsem tím, že jsem změnil v nastavení Apache port z 80 na 8080, abych nginx mohl spustit na portu 80. Web, na který jsem nahrával fotky, jsem zadal do souboru hosts:
127.0.0.1 muj-web.cz
Stáhl nginx server a ve složce conf upravil soubor nginx.conf následovně:
http { ... server { listen 80; server_name muj-web.cz; location /admin/custom_upload/ { # Přesměrování této URL na localhost proxy_pass http://127.0.0.1:8080/vlastni-upload/; } location / { # IP adresa serveru kam přesměrovat # vše kromě /admin/custom_upload/ proxy_pass http://8.8.8.8/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } } # localhost jen znovu přepošleme na Apache server { listen 80; server_name localhost; location / { proxy_pass http://127.0.0.1:8080; } } }
Server se nemusí instalovat, a po stažení a konfiguraci jej stačí spustit. Není tedy problém si jej uložit i na flash disk a spustit kdykoli je potřeba.
Možnosti nginx
Nginx obsahuje množství modulů, díky kterým můžete nakonfigurovat load balancer, jednoduchý file server ale i komplikovanější reverzní proxy cache a dokonce i mailové proxy servery. Server je velmi rychlý a proto je využíván ve velké míře například společnostmi: Yandex, WordPress.com či Netflix.
Využíváte nginx server také? Podělte se o své poznatky a zkušenosti v komentářích.
K tomuto článku již není možné přidávat další komentáře