Chapter 7[ 161 ]- Any image will be cached for as long as possible, due to the images
also being stored in the database, making it a truly expensive operation
to retrieve them
We will configure NGINX to support this strategy as follows:
http {# here we configure two separate shared memory zones for the keys/
metadata
# and filesystem paths for the cached objects themselves
proxy_cache_path /var/spool/nginx/articles keys_zone=ARTICLES:16m
levels=1:2 inactive=1d;proxy_cache_path /var/spool/nginx/images keys_zone=IMAGES:128m
levels=1:2 inactive=30d;# but both paths still lie on the same filesystem as proxy_temp_
path
proxy_temp_path /var/spool/nginx;server {location / {# this is where the list of articles is found
proxy_cache_valid 1m;}location /articles {# each article has a URI beginning with "/articles"
proxy_cache_valid 1d;}location /img {# every image is referenced with a URI under "/img"
proxy_cache_valid 10y;}}That takes care of our requirements. We have now activated caching for a legacy
application that has no caching support.