Mastering Nginx

(Ron) #1

NGINX for the Developer


[ 166 ]

Knowing what you do about the files your application generates, you can set these


headers appropriately. Let's take an example application where the main page should
be cached for 5 minutes, all JavaScript and CSS files for 24 hours, each HTML page for


3 days, and each image for as long as possible:


server {

root /home/www;

location / {

# match the index.html page explicitly so the *.html below
# won't match the main page
location = /index.html {

expires 5m;

}

# match any file ending in .js or .css (Javascript or CSS
files)
location ~* /.*\.(js|css)$ {

expires 24h;

}

# match any page ending in .html
location ~* /.*\.html$ {

expires 3d;

}

}

# all of our images are under a separate location (/img)
location /img {

expires max;

}

}
Free download pdf