nginx caching
Igor Sysoev
is at rambler-co.ru
Sun Jul 19 15:32:24 MSD 2009
On Sun, Jul 19, 2009 at 04:21:35AM -0700, Gabriel Ramuglia wrote:
> thanks, i didn't know that embedded perl could be used this way,
> that's a great help.
You may use
perl_set $backend_url 'sub { return "http://youtube_backend/url" }';
proxy_pass $backend_url;
Also, it better to add
upstream youtube_backend {
server ...;
server ...;
server ...;
}
to disable resolving on run-time.
> 2009/7/19 Igor Sysoev <is at rambler-co.ru>:
> > On Sun, Jul 19, 2009 at 02:54:34AM -0700, Gabriel Ramuglia wrote:
> >
> >> Hi,
> >>
> >> I've been using nginx for a while now to proxy flv videos via youtube,
> >> to good effect. However, the site that I'm accessing to proxy videos,
> >> I'm having problems being able to access their site in bulk, so I've
> >> decided to start caching things locally so as not to hit the remote
> >> server so often. I'm doing this in squid, and, for a variety of
> >> reasons, using the url_rewriter function to help out. My urls change
> >> every hour, but the video they refer to does not, so I have to use the
> >> rewriter to make sure the cache stays relevant.
> >>
> >> Now, the problem is, squid is using something like 60% of one core of
> >> cpu doing something like 200 megabit / s of bandwidth. This is on top
> >> of the fact that squid has to pass cache misses off to nginx, which is
> >> using another 20% or so (of one core, again) cpu use. Obviously if I
> >> could cut squid out of the equation this would be ideal.
> >>
> >> Is there a way in nginx to use the same functionality as the
> >> url_rewriter in squid? Is there a tutorial or other helpful links on
> >> doing caching in nginx?
> >
> > http://wiki.nginx.org/NginxHttpProxyModule#proxy_cache
> >
> > http {
> > proxy_cache_path /spool/nginx/cache levels=1:2
> > keys_zone=cache:10m
> > inactive=3h;
> >
> > server {
> >
> > location / {
> > proxy_pass ...;
> >
> > proxy_cache cache;
> > proxy_cache_valid 200 24h;
> > proxy_cache_use_stale error timeout invalid_header updating
> > http_500 http_502 http_503 http_504;
> >
> > proxy_ignore_headers Expires Cache-Control;
> > }
> >
> > As to url_rewriter, it's depend on functionality: you may use simple
> > "rewrite" or complex "perl_set":
> > http://wiki.nginx.org/NginxEmbeddedPerlModule
> >
> >
> > --
> > Igor Sysoev
> > http://sysoev.ru/en/
> >
> >
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list