Рестартуют nginx-ы если используется ngx_http_image_filter_module и файл с изображением не найден

Igor Sysoev is at rambler-co.ru
Mon May 11 16:44:06 MSD 2009


On Mon, May 11, 2009 at 04:07:13PM +0400, Maxim Dobriakov wrote:

> Добрый день,
> 
> Проблема в следующем:
> 
> Установлен nginx-0.7.54/55 с модулем ngx_http_image_filter_module. В
> конфигурационном файле есть секция:
> 
> location ~* \/medium\/.*\.(jpg|jpeg|gif|png)$ {
>   rewrite ^(.*)\/medium\/(.*)\.(jpg|jpeg|gif|png)$ $1/$2.$3 break;
>   image_filter resize 530 480;
>   error_page 415 = /empty;
>   access_log off;
>   expires 30d;
> }
> 
> location = /empty {
>   empty_gif;
> }
> 
> которая уменьшает размер изображения если в URL есть подстрока /medium/
> 
> Всё работает, но возникает проблема когда URL указывает на файл
> которого не существует. Возникает следующая ошибка, и если я правильно
> понимаю рестартуют nginx-ы:
> 
> 2009/05/10 19:54:39 [error] 4356#0: *85 open()
> "/app/current/public/attachment/file/22/xxx.jpg" failed (2: No such
> file or directory), client: 192.168.1.13, server: nginxf, request:
> "GET /attachment/file/22/medium/xxx.jpg HTTP/1.1", host: "nginxf"
> 2009/05/10 19:54:39 [alert] 724#0: worker process 4356 exited on signal 10
> 2009/05/10 19:54:39 [error] 4355#0: *86 open()
> "/app/current/public/attachment/file/22/xxx.jpg" failed (2: No such
> file or directory), client: 192.168.1.13, server: nginxf, request:
> "GET /attachment/file/22/medium/xxx.jpg HTTP/1.1", host: "nginxf"
> 2009/05/10 19:54:40 [alert] 724#0: worker process 4355 exited on signal 10
> 2009/05/10 19:54:40 [error] 4357#0: *87 open()
> "/app/current/public/attachment/file/22/xxx.jpg" failed (2: No such
> file or directory), client: 192.168.1.13, server: nginxf, request:
> "GET /attachment/file/22/medium/xxx.jpg HTTP/1.1", host: "nginxf"
> 2009/05/10 19:54:40 [alert] 724#0: worker process 4357 exited on signal 10
> 
> 1) Я так понимаю это неправильное поведение?

Это ошибка, она исправлена следующем релизе, который будет скорее всего
сегодня.

> 2) Есть ли воркэраунд позволяющий избежать перезапуска nginx-ов?

   error_page 404 415 = /empty;

> P.S.
>   Если нужно я готов предоставить дополнительную информацию чтобы
> решить описанную проблему.
> 
> Заранее спасибо :)


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





More information about the nginx-ru mailing list