user www-data; worker_processes 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; #access_log /var/log/nginx/access.log; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; gzip on; gzip_min_length 1100; gzip_buffers 4 8k; # text/html is added gzip_types by default gzip_types text/plain application/x-javascript application/x-shockwave-flash text/css; #NO CGI SUPPORT IN NGINX fix stat .pl later upstream web_backend { server 127.0.0.1:8000; server 127.0.0.1:8001; server 127.0.0.1:8002; server 127.0.0.1:8003; server 127.0.0.1:8004; server 127.0.0.1:8005; server 127.0.0.1:8006; server 127.0.0.1:8007; server 127.0.0.1:8008; server 127.0.0.1:8009; server 127.0.0.1:8010; server 127.0.0.1:8011; server 127.0.0.1:8012; server 127.0.0.1:8013; server 127.0.0.1:8014; server 127.0.0.1:8015; server 127.0.0.1:8016; server 127.0.0.1:8017; server 127.0.0.1:8018; server 127.0.0.1:8019; server 127.0.0.1:8020; server 127.0.0.1:8021; server 127.0.0.1:8022; server 127.0.0.1:8023; server 127.0.0.1:8024; server 127.0.0.1:8025; server 127.0.0.1:8026; server 127.0.0.1:8027; server 127.0.0.1:8028; server 127.0.0.1:8029; } upstream api_backend { server 127.0.0.1:8030; server 127.0.0.1:8031; server 127.0.0.1:8032; server 127.0.0.1:8033; server 127.0.0.1:8034; server 127.0.0.1:8035; server 127.0.0.1:8036; server 127.0.0.1:8037; server 127.0.0.1:8038; server 127.0.0.1:8039; server 127.0.0.1:8040; server 127.0.0.1:8041; server 127.0.0.1:8042; server 127.0.0.1:8043; server 127.0.0.1:8044; } upstream bulkapi_backend { server 10.0.0.10:8000; server 10.0.0.11:8000; server 10.0.0.12:8000; server 10.0.0.10:8001; server 10.0.0.11:8001; server 10.0.0.12:8001; server 10.0.0.10:8002; server 10.0.0.11:8002; server 10.0.0.12:8002; server 10.0.0.10:8003; server 10.0.0.11:8003; server 10.0.0.12:8003; } upstream tah_backend { server 10.0.0.10:8004; server 10.0.0.11:8004; server 10.0.0.12:8004; server 10.0.0.10:8005; server 10.0.0.11:8005; server 10.0.0.12:8005; } server { listen 80; server_name .openstreetmap.org api.openstreetmap.org; root /home/rails/public access_log /var/log/nginx/openstreetmap.org.access.log; location / { deny 143.210.16.160; allow all; } location /trac/ { rewrite ^/trac/(.*)$ http://trac.openstreetmap.org/$1 permanent; } location /wiki/ { rewrite ^/wiki/(.*)$ http://wiki.openstreetmap.org/$1 permanent; } if ($http_user_agent == "tilesAtHome" { include /etc/nginx/fastcgi_params; fastcgi_pass tah_backend; break; } location =~ "^/api/0\.6/(map|trackpoints|amf|amf/read|swf/trackpoints)$" { include /etc/nginx/fastcgi_params; fastcgi_pass bulkapi_backend; break; } location =~ "^/api/0\.6/.*/search$" { include /etc/nginx/fastcgi_params; fastcgi_pass bulkapi_backend; break; } location =~ "^/api/0\.6/" { include /etc/nginx/fastcgi_params; fastcgi_pass api_backend; break; } location =~ "^/api/0\.[0-9]+/" { deny all; } if (!-f $request_filename) { include /etc/nginx/fastcgi_params; fastcgi_pass web_backend; break; } location /crossdomain.xml { default_type text/x-cross-domain-policy } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/nginx-default; } } }