Forum: NGINX Fastcgi cache

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Jim O. (Guest)
on 2009-05-09 23:14
(Received via mailing list)
Igor,

Is there any way to set the it just to cache image and other media
files, but not text/html? I only see based on response in the Russian
docs (best as I can understand). Is that something that can be added or
is planned?

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,1890,1890#msg-1890
"坏人" (Guest)
on 2009-05-12 08:06
(Received via mailing list)
如果是js、css、gif等推荐用squid。如果是大的媒体文件,推荐用rsync同步后再用ngninx输出。

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,1890,1925#msg-1925
Igor S. (Guest)
on 2009-05-12 10:44
(Received via mailing list)
On Sat, May 09, 2009 at 03:02:53PM -0400, Jim O. wrote:

> Is there any way to set the it just to cache image and other media files, but not 
text/html? I only see based on response in the Russian docs (best as I can understand). Is 
that something that can be added or is planned?

No, currently nginx can not cache using content-type, but it can be easy
added. Also you may use location to separate responses.
Delta Y. (Guest)
on 2009-05-12 14:18
(Received via mailing list)
+1 cent for proxy  using content-type

2009/5/12 Igor S. <removed_email_address@domain.invalid>
Jim O. (Guest)
on 2009-05-13 21:51
(Received via mailing list)
Finally that worked.

Thank you Igor!

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,1890,2005#msg-2005
Jim O. (Guest)
on 2009-05-14 01:17
(Received via mailing list)
Igor S. Wrote:
-------------------------------------------------------
> content-type, but it can be easy
> added. Also you may use location to separate
> responses.
>

Can you give a sample configuration of how that would work.

I have tried putting location blocks in and out of the main fastcgi_pass
block without any success.

>
> --
> Igor S.
> http://sysoev.ru/en/

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,1890,1993#msg-1993
Igor S. (Guest)
on 2009-05-14 01:39
(Received via mailing list)
On Wed, May 13, 2009 at 12:06:33AM -0400, Jim O. wrote:

> >
> > No, currently nginx can not cache using
> > content-type, but it can be easy
> > added. Also you may use location to separate
> > responses.
> >
>
> Can you give a sample configuration of how that would work.
>
> I have tried putting location blocks in and out of the main fastcgi_pass block without 
any success.

location ~ \.php$ {
     fastcgi_pass  ...
}

location ~ \.(jpg|gif|png)$ {
     fastcgi_pass  ...
     fastcgi_cache ...
}
Jim O. (Guest)
on 2009-05-14 12:10
(Received via mailing list)
Igor S. Wrote:
-------------------------------------------------------
> > > > Is there any way to set the it just to
> > > content-type, but it can be easy
>
> location ~ \.php$ {
>      fastcgi_pass  ...
> }
>
> location ~ \.(jpg|gif|png)$ {
>      fastcgi_pass  ...
>      fastcgi_cache ...
> }
>
>

That's what I tried first: It's a Perl script and I am using fcgiwrap.

location ~ myscript {
fastcgi_pass unix:/tmp/cgi.sock;
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_buffers 64 8k;
}

location ~ \.(jpg|gif|png)$ {
fastcgi_pass unix:/tmp/cgi.sock;
fastcgi_cache one;
fastcgi_cache_key unix:/tmp/cgi.sock.1$request_uri;
fastcgi_cache_valid 200 302 5m;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 5m;
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_buffers 64 8k;
}

The only thing that winds up in the cache is when there is a 403.


> --
> Igor S.
> http://sysoev.ru/en/

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,1890,2000#msg-2000
Igor S. (Guest)
on 2009-05-14 12:24
(Received via mailing list)
On Wed, May 13, 2009 at 10:59:13AM -0400, Jim O. wrote:

> > > > Ohlstein wrote:
> > > >
> > of the main fastcgi_pass block without any
> >
> location ~ \.(jpg|gif|png)$ {
> The only thing that winds up in the cache is when there is a 403.
Probably you need to add

  fastcgi_ignore_headers  Cache-Control  Expires;
Jim O. (Guest)
on 2009-05-14 12:57
(Received via mailing list)
Igor S. wrote:
>>>> Igor S. Wrote:
>>>>>>
>>>>> (best as I can understand). Is that something
>>>>>
>>>      fastcgi_pass  ...
>>
>> fastcgi_cache_valid 200 302 5m;
>
>   fastcgi_ignore_headers  Cache-Control  Expires;
>
>
>
That didn't change anything.

If I configure with:

location ~ myscript {
fastcgi_pass unix:/tmp/cgi.sock;
fastcgi_cache one;
fastcgi_cache_key unix:/tmp/cgi.sock.1$request_uri;
fastcgi_cache_valid 200 302 5m;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 5m;
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_buffers 64 4k;
}

then files wind up in the cache. So I know the cache is configured and
working.

Jim
Igor S. (Guest)
on 2009-05-14 13:08
(Received via mailing list)
On Wed, May 13, 2009 at 11:42:25AM -0400, Jim O. wrote:

> >>>Ohlstein wrote:
> >>>>>
> >>>>>
> >>>>>added. Also you may use location to separate
> >>>success.
> >>>
> >>fastcgi_pass unix:/tmp/cgi.sock;
> >>
>
>
> then files wind up in the cache. So I know the cache is configured and
> working.

Then change the locations order:

  location ~ \.(jpg|gif|png)$ {
  }

  location ~ myscript {
  }

It seems that your images have "myscript" string.
Jim O. (Guest)
on 2009-05-20 01:18
(Received via mailing list)
Is there a way to log cache hits and misses?

Posted at Nginx Forum:
http://forum.nginx.org/read.php?2,1890,2207#msg-2207
Maxim D. (Guest)
on 2009-05-20 01:40
(Received via mailing list)
Hello!

On Tue, May 19, 2009 at 05:09:39PM -0400, Jim O. wrote:

> Is there a way to log cache hits and misses?

Not yet.

Maxim D.
Jim O. (Guest)
on 2009-05-20 01:54
(Received via mailing list)
Maxim D. wrote:
> Hello!
>
> On Tue, May 19, 2009 at 05:09:39PM -0400, Jim O. wrote:
>
>
>> Is there a way to log cache hits and misses?
>>
>
> Not yet.
>

Thanks Maxim. I can live with the word "yet".  :)
> Maxim D.
>
>
>
Jim
Payam C. (Guest)
on 2009-05-20 09:41
(Received via mailing list)
On Tue, May 19, 2009 at 2:49 PM, Jim O. <removed_email_address@domain.invalid>
wrote:
>>> Is there a way to log cache hits and misses?
>>
>
> Jim
>
>

what about parsing log file and capturing for w.e code you decide to
cache then use sort and uniq and other tools like awk to come up with
your own stats...
This topic is locked and can not be replied to.