Skip to content

Instantly share code, notes, and snippets.

@pyh
Created May 25, 2011 19:17
Show Gist options
  • Save pyh/991676 to your computer and use it in GitHub Desktop.
Save pyh/991676 to your computer and use it in GitHub Desktop.
nginx config
worker_processes 1;
error_log /var/log/nginx/error.log notice;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
upstream mogile_trackers {
server real1:7001;
server real2:7001;
}
server {
listen 8080;
client_max_body_size 5G;
client_body_buffer_size 25M;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
proxy_hide_header Content-Type;
proxy_buffering off;
proxy_intercept_errors on;
location ~ ^/(?<domain>[\w._]+)/(?<class>[\w._]+)/(?<key>.+)$ {
mogilefs_tracker mogile_trackers;
mogilefs_methods GET PUT DELETE;
mogilefs_domain $domain;
mogilefs_class $class;
mogilefs_noverify on;
mogilefs_pass $key {
proxy_pass $mogilefs_path;
recursive_error_pages on;
error_page 404 502 503 504 = @try_again1;
}
}
location @try_again1 {
if ($mogilefs_path1 = "") {
return 404;
}
proxy_pass $mogilefs_path1;
error_page 404 502 503 504 = @try_again2;
}
location @try_again2 {
mogilefs_tracker mogile_trackers;
mogilefs_methods GET PUT DELETE;
mogilefs_domain $domain;
mogilefs_class $class;
mogilefs_pass $key {
proxy_pass $mogilefs_path;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment