initial untest nginx config. API 0.6 tweaking still required.
authorGrant Slater <openstreetmap@firefishy.com>
Mon, 20 Apr 2009 14:20:33 +0000 (14:20 +0000)
committerGrant Slater <openstreetmap@firefishy.com>
Mon, 20 Apr 2009 14:20:33 +0000 (14:20 +0000)
config/nginx.conf [new file with mode: 0644]

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