Nginx
Apache is like Microsoft Word, it has a million options but you only need six. Nginx does those six things, and it does five of them 50 times faster than Apache.
Truputis optimizavimo gidu:
PHP-FPM su Nginx optimizavimo gidai:
Kaip veikia svetaines po jusu "tiuningo" galima paziureti siuose puslapiuose:
Tam tikrų vhostų priėimas tik iš tam tikrų ip adresų
if ($http_host ~* "(pirmas.hostas.lt|antras.hostas.lt)") { set $block A; } if ($remote_addr !~* dalis.ip.adreso.) { set $block "${block}B"; } if ($block = AB) { return 444; break; }
Fake not found
Situacija kai norime paslepti tam tikros svetaines tam tikra dali ir praleisti visas kitas, pvz kai norima rodyti tik kai kuriuos public elementus ir paslepti login bei kitas formas. Praleisime prie visu duomenu tiktai tam tikrus browserius su specialiu user_agent. NOTE: Neprisijungusieji vartotojai visada redirectinami i /login, todel, kad maskuoti sia situacija butina neparodyti, tikrojo URL.
location / { if ($http_referer ~* "/login") { return 444; } index index.html index.htm index.php; try_files $uri $uri/ /index.php?$query_string; } location ^~ /login { if ($http_user_agent !~* ((user_agentas))) { return 301 http://$host; } try_files $uri $uri/ /index.php?$query_string; }
htpassword
sudo bash -c "echo -n 'admin:' >> /etc/nginx/.htpasswd" sudo bash -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
nginx conf:
auth_basic "Restricted Area"; auth_basic_user_file /etc/nginx/.htpasswd;
Nginx cache
Blokavimas pagal geoip
Blokavimas arba nukreipimas pagal geoip
geoip_country /usr/share/GeoIP/GeoIP.dat; map $geoip_country_code $allowed_country { default yes; AO no; LT no; } server { ... if ($allowed_country = no) { return 403; } ... }