Re: Вопрос по ngx http image filter module

Igor Sysoev igor на sysoev.ru
Сб Дек 11 14:43:43 MSK 2010


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