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