worker_processes 4;

events { worker_connections 1024; }

http {
    server {
        listen 80;
        root  /usr/share/nginx/html;
        include /etc/nginx/mime.types;

        gzip            on;
        gzip_min_length 1000;
        gzip_proxied    expired no-cache no-store private auth;
        gzip_types      text/plain application/xml application/javascript;

        ## All static files will be served directly.
        location ~* ^.+\.(?:css|cur|js|jpe?g|gif|htc|ico|png|xml|otf|ttf|eot|woff|woff2|svg)$ {
                access_log off;
                expires 30d;
                add_header Cache-Control public;
                gzip_static on;

                ## No need to bleed constant updates. Send the all shebang in one
                ## fell swoop.
                tcp_nodelay off;

                ## Set the OS file cache.
                open_file_cache max=3000 inactive=120s;
                open_file_cache_valid 45s;
                open_file_cache_min_uses 2;
                open_file_cache_errors off;
        }

        location / {
                gzip_static on;
                try_files $uri @index;
        }

        location @index {
                add_header Cache-Control "no-store, no-cache, must-revalidate";
                expires -1;
                try_files /index.html =404;
        }
    }
}