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