Try_files based on file mtime?

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?

Thanks!

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,97433,97433#msg-97433

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

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 S.
http://sysoev.ru/en/

Igor S. Wrote:

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 ?

I thought about doing that first, but it seems difficult to let php
control the cache, like deleting specific files or clearing the entire
cache when certain events happen.

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,97433,97508#msg-97508

stdragon ha scritto:

What’s the best way to do this?

What about proxy/fastcgi store, instead?

Stored response from backend are saved to well know files, so you have
full control over them.

It’s not a cache, however.

Regards

Hello stdragon,

I also need this function (try_files based on file mtime). To you have a
solution already?

Thank…

Regards
wayan

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,97433,230721#msg-230721

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs