Re: custom uri для error page в определенной директории

Alex, the Marrch Ca'at marrch.caat at gmail.com
Thu Nov 5 17:52:36 MSK 2009


Спасибо за объяснения! Буду обдумывать, ибо вопрос для меня также актуальный.

2009/11/5 Sergey Shepelev <temotor at gmail.com>:
> 2009/11/5 Alex, the Marrch Ca'at <marrch.caat at gmail.com>:
>> Хм... Вот так вот проксировать самому себе?.. Да, интересная мысль,
>> спасибо. Но не будут ли в таком случае накладные расходы уже сравнимы
>> с накладными расходами по вызову для ресайза-кропа-итд скрипта по
>> try_files?
>
> По-моему, очевидно, что любые операции внутри одного процесса
> происходят очень-очень быстро. Но скорость здесь не так существенна.
>
>> А поскольку написание отдельного скрипта для этого, с одной
>> стороны, совершенно не сложно, а с другой - дает существенно больший
>> контроль над процессом обработки - есть ли в таком подходе реальный
>> практический смысл?
>
> Да, во-первых, nginx увидит ошибку в конфиге. PHP и программист - нет.
> Во-вторых, не надо выкатывать лишний скрипт / делать пакет на сервера.
> В-третьих, этот скрипт должен работать демоном, иначе накладные
> расходы ещё хуже чем без проксирования. Интерпретатор будет жрать
> лишнюю память.
> В-четвертых, это субъективное мнение, почти всё - лучше, чем то, что
> сделано "PHP прогером".
>
>>
>> 2009/11/5 Oleksandr V. Typlyns'kyi <wangsamp at gmail.com>:
>>> Today Nov 5, 2009 at 10:14 Alex, the Marrch Ca'at wrote:
>>>
>>>> Генерировать-то превью nginx может, и верю, что хорошо. Но ведь ему
>>>> это придется делать при каждом запросе, он же не умеет сгенерированные
>>>> превьюшки в соотв. файлы складывать и потом оттуда брать? Или я что-то
>>>> упускаю?
>>>
>>>  server {
>>>  ...
>>>   location /thumbnail/ {
>>>        root /some/path/img;
>>>        error_page 404 = @crop;
>>>   }
>>>   location @crop {
>>>        root /some/path/img;
>>>        proxy_pass http://nginx;
>>>        proxy_set_header Host crop.local;
>>>        proxy_store on;
>>>   }
>>>  ...
>>>  }
>>>
>>>  server {
>>>  server_name crop.local;
>>>  ...
>>>   location /thumbnail/ {
>>>        alias /some/path/img/original/;
>>>        image_filter crop ...;
>>>   }
>>>  }
>>>
>>>  Может не совсем красиво, но должно работать.
>>>
>>> --
>>> WNGS-RIPE
>>>
>>>
>>
>


More information about the nginx-ru mailing list