nginx + caching of static files

Payam Chychi pchychi at gmail.com
Tue Apr 7 11:55:37 MSD 2009


On Mon, Apr 6, 2009 at 11:03 PM, Payam Chychi <pchychi at gmail.com> wrote:
> thank you sir =) you are a king!
>
> -Payam
>
> 2009/4/6 Igor Sysoev <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>:
>>> > 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  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?



Thanks





More information about the nginx mailing list