ngx_http_perl_module

Sergey Serov mpa at corg.net
Tue Apr 25 16:34:00 MSD 2006


On Tuesday 25 April 2006 12:01, Igor Sysoev wrote:
> On Tue, 25 Apr 2006, Sergey Serov wrote:
> > On Tuesday 25 April 2006 13:03, daz wrote:
> >> Здравствуйте!
> >>
> >> Появилась такая задача - очень часто выдавать случайную картинку в
> >> запросе из имеющихся в каталоге. Допустим /i/[1-100].jpg
> >>
> >> Можно ли не дергая php средствами nginx отдавать?
> >>
> >> типа
> >> ...
> >> set $rand=rand(1,100)
> >> ...
> >> rewrite  ^/i/rand.jpg$  /i/$rand.jpg  last;
> >> ...
> >>
> >> я понимаю, что rand(1,100) нет, может по другому как-нибудь?
> >
> > Можно, см. http://sysoev.ru/nginx/docs/http/ngx_http_perl_module.html
>
> Да, что-то вроде
>
> perl_set  $rand  "sub { return int(rand 100) + 1 }";
>

Кстати, а можно узнать, почему выбор встроенного языка был остановлен именно 
на перле? С одной стороны я вижу у Вас в коде сравнивание длины строки до 
strncmp, а с другой стороны - перл. Этот пожиратель памяти. 

Пока боролся с lighttpd обнаружил в нем полноценный встроенный Lua, хоть и 
назывался он там mod_cml (cache makeup language), но был совершенно 
полноценным встроенным языком. Синтаксис, конечно непривычный немного, но его 
работа совершенно не сказывалась на результатах моих бенчмарков.
Статика и результат работы Lua выдавали одинаковое - порядка 5к запросов в сек 
на относительно слабой машине.





More information about the nginx-ru mailing list