1) ensure you have Nginx > 1.2.x (to proper headers modifications) and compile with –with-http_gzip_static_module option
2) Enable this option gzip on (to serve back-end response with gzip header)
3) Setup assets location with gzip_static on
(to serve all.css.gz, all.js.gz files directly)
4) Prevent of etag generation and last-modify calculation for assets
5) Turn on the right Cache-control to cache SSL served static assets,
unless they will be expired once browser is closed
location ~ ^/(assets|images|javascripts|stylesheets|swfs|system)/ {
gzip_static on;
expires max;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
}
if you would like to get full Nginx configuration, you can see this gist on Github.
open_file_cache helps you to cache: open file descriptors, their sizes, modification times and directory lookups, which is helpful for high load on the file system.
UPDATE: If you are living on the edge, turn on the SPDY to boost the SSL connection.