From b90e70bd914823701fa1db8dcab52833c230c42b Mon Sep 17 00:00:00 2001 From: Grant Slater Date: Mon, 20 Apr 2009 14:20:33 +0000 Subject: [PATCH 1/1] initial untest nginx config. API 0.6 tweaking still required. --- config/nginx.conf | 172 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 config/nginx.conf diff --git a/config/nginx.conf b/config/nginx.conf new file mode 100644 index 000000000..04a87ebc2 --- /dev/null +++ b/config/nginx.conf @@ -0,0 +1,172 @@ +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; + } + + } +} + -- 2.43.2