2016-08-31 5 views
2

Я использую журнал доступа и ошибок в Nginx.Nginx - Исключить конкретный файл или папку из журнала в access.log

У меня очень много запросов на статистику, которые занимают слишком много места для хранения в access.log и не требуются.

Можно ли исключить конкретный файл или папку из входа в access.log?

Я хотел бы, чтобы исключить все запросы /stats/

server { 
    listen 80 default_server; 
    listen 443 ssl default_server; 
    server_name ***.co.uk www.***.co.uk; 

    root /var/www/***/html; 
    index index.html index.php; 

    access_log /var/www/***/log/access.log; 
    error_log /var/www/***/log/error.log; 
}  

ответ

3

Вы можете это сделать, если вы знаете, какой блок местоположения или сервер обрабатывает запрос на статистику. Просто добавьте директиву access_log off; на сервер или блок местоположения, в котором вы хотите, чтобы это было отключено.

--Edit--

Добавить это место для вашего блока сервера:

location /stats/ { 
    try_files $uri $uri/ =404; 
    access_log off; 
} 
+0

Я обновил мой вопрос немного более подробно. Как я могу исключить папку 'stats' в этом примере? –

+0

Я обновил свой ответ. Пожалуйста, проверьте, что он работает. Если нет, сообщите мне, каков был результат. –

+1

Я обнаружил, что определение журнала доступа в блоке сервера, а затем попытка его переопределения в блоке местоположения не имеет никакого значения. Я должен был определить разные правила журнала доступа в каждом блоке местоположения. –

Смежные вопросы