nginx + caching of static files
Tomasz Pajor
nikon at puffy.pl
Wed Apr 8 15:50:06 MSD 2009
shinepf
ncache will only compile with versions up to 0.7.43.
with newer once there is a compile error because of the change in
ngx_http_cache_s structure.
are You going to fix anytime soon?
--
Best Regards
Tomasz Pajor
> www.ncache.org <http://www.ncache.org>
>
> an nginx cache module
>
> maybe this can help u .
>
> On Tue, Apr 7, 2009 at 5:03 PM, Payam Chychi <pchychi at gmail.com
> <mailto:pchychi at gmail.com>> wrote:
>
> 2009/4/7 Igor Sysoev <is at rambler-co.ru <mailto:is at rambler-co.ru>>:
> > On Tue, Apr 07, 2009 at 12:55:37AM -0700, Payam Chychi wrote:
> >
> >> On Mon, Apr 6, 2009 at 11:03 PM, Payam Chychi
> <pchychi at gmail.com <mailto:pchychi at gmail.com>> wrote:
> >> > thank you sir =) you are a king!
> >> >
> >> > -Payam
> >> >
> >> > 2009/4/6 Igor Sysoev <is at rambler-co.ru
> <mailto:is at rambler-co.ru>>:
> >> >> On Mon, Apr 06, 2009 at 10:46:24PM -0700, Payam Chychi wrote:
> >> >>
> >> >>> 2009/4/6 Igor Sysoev <is at rambler-co.ru
> <mailto:is at rambler-co.ru>>:
> >> >>> > On Mon, Apr 06, 2009 at 10:14:36PM -0700, Payam Chychi wrote:
> >> >>> >
> >> >>> >> Hi Guys,
> >> >>> >>
> >> >>> >> I was hoping someone could point out a document where it
> can teach me
> >> >>> >> how to setup nginx + caching. I know that traditionally
> nginx did not
> >> >>> >> have a native caching and it required you to run ncache
> or cachemem in
> >> >>> >> order to perform caching of static content... but does
> nginx now allow
> >> >>> >> basic static file caching without the use of any other
> 3rd app?
> >> >>> >>
> >> >>> >> Im trying to understand if nginx now has a native
> caching which would
> >> >>> >> allow caching of static content. I dont want to get
> fancy in anyway, I
> >> >>> >> simply want to allocate say 200mb of storage space to
> allow caching of
> >> >>> >> static content. the 200mb should be updated with the most
> >> >>> >> active/recently seen file request.
> >> >>> >>
> >> >>> >> reason? im trying to allow nginx to serve the static
> files from disk
> >> >>> >> (if it has seen it previously) and not have to go back
> to the origin
> >> >>> >> server every single time.
> >> >>> >
> >> >>> > Get the lastest nginx (0.7.50) and use
> >> >>> >
> >> >>> > proxy_cache_path /path/to/cache levels=1:2
> >> >>> > keys_zone=one:10m
> >> >>> > inactive=7d max_size=200m;
> >> >>> >
> >> >>> > proxy_temp_path /path/to/temp; # must be on the
> same filesystem
> >> >>> > # as cache
> >> >>> >
> >> >>> > server {
> >> >>> >
> >> >>> > location / {
> >> >>> > proxy_pass http://backend;
> >> >>> >
> >> >>> > proxy_cache one;
> >> >>> > proxy_cache_key backend$request_uri;
> >> >>> > proxy_cache_valid 200 1h;
> >> >>> > proxy_cache_use_stale error timeout
> invalid_header;
> >> >>> > }
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> > --
> >> >>> > Igor Sysoev
> >> >>> > http://sysoev.ru/en/
> >> >>> >
> >> >>> >
> >> >>> proxy_cache_path /path/to/cache levels=1:2
> >> >>> keys_zone=one:10m
> >> >>> inactive=7d max_size=200m;
> >> >>>
> >> >>> proxy_temp_path /path/to/temp; # must be on the same
> filesystem
> >> >>> # as cache
> >> >>>
> >> >>> server {
> >> >>>
> >> >>> location / {
> >> >>> proxy_pass http://backend;
> >> >>>
> >> >>> proxy_cache one;
> >> >>> proxy_cache_key backend$request_uri;
> >> >>> proxy_cache_valid 200 1h;
> >> >>> proxy_cache_use_stale error timeout
> invalid_header;
> >> >>> }
> >> >>>
> >> >>>
> >> >>>
> >> >>> few questions:
> >> >>> 1- what does the keys_zone used for
> >> >>> 2- what does the "200 1h" in proxy_cache_valid mean
> >> >>> 3- how is the "proxy_cache_use_stale error timeout
> invalid_header" used?
> >> >>
> >> >> http://wiki.nginx.org/NginxHttpProxyModule#proxy_cache
> >> >>
> >> >>
> >> >> --
> >> >> Igor Sysoev
> >> >> http://sysoev.ru/en/
> >> >>
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Payam Tarverdyan Chychi
> >> > Network Security Specialist / Network Engineer
> >> >
> >>
> >>
> >> Igor,
> >>
> >> using the caching info ... i get a "redirect loop" when trying to
> >> download domain.com/images/spacer.gif
> <http://domain.com/images/spacer.gif> when the file does not exist
> >> on the origin server ... ive also been able replicate this with
> YSlow
> >> for firefox
> >>
> >> When bypassing the proxy/cache and connecting directly to the
> origin,
> >> i get the proper 404 error
> >> any ideas?
> >
> > Probably you have something like
> >
> > error_page 404 /404.html;
> > proxy_intercept_errors on;
> > recursive_error_pages on;
> >
> > without
> >
> > location = /404.html {
> >
> > so the /404.html is proxied to backend again.
> >
> > Also you may cache 404 errors too:
> >
> > proxy_cache_valid 200 1h;
> > proxy_cache_valid 404 5m;
> >
> >
> > --
> > Igor Sysoev
> > http://sysoev.ru/en/
> >
> >
>
> Right on... that was the problem. fixed with adding exactly what you
> said... im now also caching 404
>
> thanks again
> -payam
>
>
More information about the nginx
mailing list