Fastcgi cache
Igor Sysoev
is at rambler-co.ru
Wed May 13 19:52:49 MSD 2009
On Wed, May 13, 2009 at 11:42:25AM -0400, Jim Ohlstein wrote:
>
>
> Igor Sysoev wrote:
> >On Wed, May 13, 2009 at 10:59:13AM -0400, Jim Ohlstein wrote:
> >
> >
> >>Igor Sysoev Wrote:
> >>-------------------------------------------------------
> >>
> >>>On Wed, May 13, 2009 at 12:06:33AM -0400, Jim
> >>>Ohlstein wrote:
> >>>
> >>>
> >>>>Igor Sysoev Wrote:
> >>>>
> >>>>
> >>>--------------------------------------------------
> >>>-----
> >>>
> >>>>>On Sat, May 09, 2009 at 03:02:53PM -0400, Jim
> >>>>>Ohlstein 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.
> >>>>>
> >>>>>
> >>>>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 ...
> >>>}
> >>>
> >>>
> >>>
> >>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.
> >>
> >
> >Probably you need to add
> >
> > 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.
Then change the locations order:
location ~ \.(jpg|gif|png)$ {
}
location ~ myscript {
}
It seems that your images have "myscript" string.
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list