Forum: NGINX try_files based on file mtime?

Posted by stdragon (Guest)
on 2010-06-12 06:20
(Received via mailing list)
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
Posted by Igor Sysoev (Guest)
on 2010-06-12 09:47
(Received via mailing list)
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 Sysoev
http://sysoev.ru/en/
Posted by stdragon (Guest)
on 2010-06-12 16:23
(Received via mailing list)
Igor Sysoev 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
Posted by Manlio Perillo (Guest)
on 2010-06-17 16:22
(Received via mailing list)
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
Posted by wayan (Guest)
on 2012-09-14 11:16
(Received via mailing list)
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
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.