Skip to content

Instantly share code, notes, and snippets.

@Suor
Created February 27, 2014 09:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Suor/9247073 to your computer and use it in GitHub Desktop.
Save Suor/9247073 to your computer and use it in GitHub Desktop.
mediavault nginx config
proxy_cache_path /home/mediavault/cache-mem levels=2:2 keys_zone=ram:400m inactive=48h max_size=26G;
proxy_cache_path /home/mediavault/cache-ssd levels=2:2:2 keys_zone=ssd:800m inactive=30d max_size=160G;
client_body_temp_path /home/mediavault/cache-mem/tmp;
open_file_cache max=5000 inactive=600s;
open_file_cache_valid 1200s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
server {
server_name i1.r24.me;
access_log off; #/home/mediavault/logs/nginx_i1_access_log meta buffer=512k;
error_log /home/mediavault/logs/nginx_i1_error_log error;
expires max;
location ~ "^(/new)?/\w{6,12}\.(jpg|gif|png)$" {
proxy_pass http://127.0.0.1:8082;
proxy_cache ssd;
proxy_cache_bypass $1;
proxy_no_cache $1;
# proxy_cache_min_uses 2;
proxy_temp_path /home/mediavault/cache-ssd/tmp;
proxy_cache_key $uri;
proxy_cache_lock on;
proxy_cache_valid 200 301 302 30d;
proxy_cache_valid 404 2m;
}
location / {
proxy_pass http://127.0.0.1:8081;
proxy_cache ram;
proxy_temp_path /home/mediavault/cache-mem/tmp;
proxy_cache_key $uri;
# proxy_cache_min_uses 2;
proxy_cache_lock on;
proxy_cache_valid 200 301 302 24h;
proxy_cache_valid 404 415 2m;
}
location /new/ {
proxy_pass http://127.0.0.1:8081;
}
}
server {
listen 8082;
server_name i1.r24.me;
access_log off;
error_log /home/mediavault/logs/nginx_static_error_log;
location ~ "^(/new)?/\w{6,12}.(jpg|gif|png)$" {
root /home/mediavault/storage;
rewrite "^(?:/new)?/(\w\w)(\w\w)(\w{2,8})\.(jpg|gif|png)$" /$1/$2/$3.$4 break;
}
}
server {
listen 8083;
server_name i1.r24.me;
access_log off;#/home/mediavault/logs/nginx_static_cached_access_log meta;
error_log /home/mediavault/logs/nginx_static_cached_error_log;
location ~ "^(/new)?/\w{6,12}.(jpg|gif|png)$" {
proxy_pass http://127.0.0.1:8082;
proxy_cache ssd;
proxy_cache_bypass $1;
proxy_no_cache $1;
# proxy_cache_min_uses 2;
proxy_temp_path /home/mediavault/cache-ssd/tmp;
proxy_cache_key $uri;
proxy_cache_lock on;
proxy_cache_valid 200 301 302 30d;
proxy_cache_valid 404 2m;
}
}
server {
listen 8081;
server_name odin.metadesign.ru;
access_log off;#/home/mediavault/logs/nginx_if_access_log meta buffer=512k;
error_log /home/mediavault/logs/nginx_if_error_log error;
# root /home/mediavault/storage;
set $new 0;
if ($uri ~ ^/new/) {
rewrite ^(?:/new)(.*)$ $1;
set $new 1;
}
if ($uri ~ "^/\w{6,12}-[rc](\d+)x(\d+)\.(jpg|gif|png)$") {
set $w $1;
set $h $2;
set $q 85;
}
if ($uri ~ "^/\w{6,12}-[rc](\d+)x(\d+)-q(\d+)\.(jpg|gif|png)$") {
set $w $1;
set $h $2;
set $q $3;
}
if ($w = 0) { set $w '-'; }
if ($h = 0) { set $h '-'; }
image_filter_jpeg_quality 85;
image_filter_buffer 10M;
location ~ "^/\w{6,12}-c\d+x\d+(?:-q\d+)?\.(jpg|gif|png)" {
proxy_pass http://127.0.0.1:8083;
#rewrite "^/(\w\w)(\w\w)(\w{2,8})[^.]+.(jpg|gif|png)$" /$1/$2/$3.$4;
rewrite "^/(\w\w)(\w\w)(\w{2,8})[^.]+.(jpg|gif|png)$" /$1$2$3.$4;
error_page 404 /notfound;
image_filter_jpeg_quality $q;
image_filter crop $w $h;
break;
}
location ~ "^/\w{6,12}-r\d+x\d+(?:-q\d+)?\.(jpg|gif|png)" {
proxy_pass http://127.0.0.1:8083;
#rewrite "^/(\w\w)(\w\w)(\w{2,8})[^.]+.(jpg|gif|png)$" /$1/$2/$3.$4;
rewrite "^/(\w\w)(\w\w)(\w{2,8})[^.]+.(jpg|gif|png)$" /$1$2$3.$4;
error_page 404 /notfound;
image_filter_jpeg_quality $q;
image_filter resize $w $h;
break;
}
location = /notfound {
return 404;
}
}
upstream mediarouter {
# server 127.0.0.1:8500;
server 127.0.0.1:9000;
server 127.0.0.1:9001;
server 127.0.0.1:9002;
server 127.0.0.1:9003;
}
server {
listen 80;
server_name s1.r24.me;
access_log /home/mediavault/logs/nginx_s1_access_log meta buffer=32k;
error_log /home/mediavault/logs/nginx_s1_error_log error;
location / {
proxy_pass http://mediarouter;
proxy_connect_timeout 10;
}
}
server {
listen 80;
server_name s2.r24.me;
access_log /home/mediavault/logs/nginx_s2_access_log meta buffer=32k;
error_log /home/mediavault/logs/nginx_s2_error_log error;
location / {
proxy_pass http://127.0.0.1:8500;
proxy_connect_timeout 10;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment