try_files based on file mtime?

Igor Sysoev igor at sysoev.ru
Sat Jun 12 11:47:02 MSD 2010


On Sat, Jun 12, 2010 at 12:19:16AM -0400, stdragon wrote:

> Hi all,
> 
> I found nginx a little while ago and I've been working on a fast wordpress setup with it. One thing I'm having a problem with is serving cached pages with an expiration.
> 
> So I have this (simplified a bit):
> 
>         location / {
>                 # If it's a real static file just serve it, otherwise check the cache
>                 try_files $uri $uri/ @checksupercache;
>         }
> 
>         location @checksupercache {
>                 # First check if user is logged in, etc, but let's assume not, so we want to serve the static cache if it exists
>                 # This is the point where I would like to check the file's mtime. If it's too old, use @gotoblog even though the file exists.
>                 try_files /wp-content/cache/supercache/$http_host/$uri/index.html @gotoblog;
>         }
> 
> How do I implement that last part? Say I want cached pages to last 2 minutes. Something like this would be perfect:
> try_files 2m blah/blah/$uri @otherwise;
> 
> What's the best way to do this?
> 
> If there's not a great way right now, would this be better/easier for me to implement as a patch to try_files or as a separate module with a separate command?

Why not use the proxy/fastcgi cache ?


-- 
Igor Sysoev
http://sysoev.ru/en/



More information about the nginx mailing list