Re: Запись в error.log No such file в то время как клиент получает ответ с кодом 200.

Igor Sysoev igor на sysoev.ru
Чт Июн 17 12:48:52 MSD 2010


On Thu, Jun 17, 2010 at 04:36:12AM -0400, vgoncharov wrote:

> Добрый день всем.
> 
> Есть тяжелый, неспешный бакенд, который
> кроме основной деятельности раздает
> мелкую статику, которая при этом
> месяцами не меняется.
> 
> В документации на proxy_store подсмотрел
> такую конфигурацию:
> 
> location /mystatic/ {
>     root   /var/www/nginx/files;
>     error_page   404 = @fetch_mystatic;
> }
> 
> location @fetch_mystatic {
>     internal;
>     proxy_pass        http://backend:8080;
>     proxy_store          on;
>     proxy_store_access   user:rw  group:rw  all:r;
>     proxy_temp_path      /var/www/nginx/files;
>     root  /var/www/nginx/files;
> }
> 
> И все прекрасно работает.
> 
> Но в nginx/logs/error.log постоянно пишется, что
> no such file в /mystatic/*, хотя на самом деле оно
> было найдено на бакенды и с кодом 200
> отдано клиенту.
> 
> Файлов этих несколько тысяч. На каждый -
> одна запись в error.log. Вот и получается -
> клиент получает что требуется, а админ
> получает error.log информация в котором не
> соответствует происходящему.
> 
> Что можно подкрутить в конфиге, чтобы
> nginx в error.log не писал No such file для location
> /mystatic для случаев, когда код ответа 200?

location /mystatic/ {
     root   /var/www/nginx/files;
     error_page   404 = @fetch_mystatic;
     log_not_found  off;
}

или

location /mystatic/ {
     root   /var/www/nginx/files;
     try_files  $uri  @fetch_mystatic;
}


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



Подробная информация о списке рассылки nginx-ru