ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Вопрос по ngx http image filter modu le



On Fri, Dec 10, 2010 at 11:33:31PM -0500, hdg700 wrote:

> Возникла одна задачка, над которой сижу
> уже несколько дней.
> 
> Решили взвалить обработку фотографий
> на nginx.
> Сейчас картинки выдаются следующим
> образом:
>       [b][/b]
> То есть пыхтит над этим апач: выбор
> картинки из базы, ресайз и прочее.
> Задача - сделать это все средствами nginx,
> причем не изменяя ссылки.
> 
> Ковыряю ngx_http_image_filter_module.c.
> Как я вижу решение: где-то на начальной
> стадии обработки запроса запрашиваем
> из базы путь к картике и подменяем
> ngx_http_request, как будто запрашивается
> картинка, а не image.php, а дальше модуль уже
> продолжает работу, как обычно.
> Можно, конечно, все сделать, как
> говорится, в лоб, но не хочется нарушать
> целостность модуля, и хочется, чтобы он
> не выполнял лишнюю работу.
> 
> Отсюда два вопроса:
> 1. В какой функции лучше делать запросы
> к базе и подмену request'а, и как правильно
> подменять, чтобы не нарушить логику
> всей программы? ( мне так кажется, где-то
> в функции ngx_http_image_header_filter? )
> 
> 2. Как правильно передать
> дополнительные параметры в директиву
> image_filter? Я окончательно запутался и не
> могу понять последовательность
> обработки параметров от прописывания
> их в конфиге до функции ngx_http_image_resize,
> например.

Если предполагается, что nginx должен ходить за картинкой в базу,
то ничего хорошего из этого не выйдет.


-- 
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.