Точнее, могу ли я настроить Nginx для вывода записи журнала в отдельный файл журнала всякий раз, когда запрашивается конкретный URL-адрес? Позже количество строк в этом журнале может дать мне количество загрузок.
nginx.conf
error_log /home/webadmin/applegrew.com/error-n.log;
events {
worker_connections 1000;
}
http {
include mime.types;
index index.html index.htm index.php index.shtml;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile on;
keepalive_timeout 5;
gzip on;
server {
server_name cink.applegrew.com;
access_log /var/log/cink.applegrew.com/access.log main;
error_log /var/log/cink.applegrew.com/error.log;
root /var/www/cink.applegrew.com/html;
location = /js/cink\.compiler\.min\.js$ {
access_log /var/log/cink.applegrew.com/download-compiler-min.log main;
}
location = /js/cink\.renderer\.min\.js$ {
access_log /var/log/cink.applegrew.com/download-renderer-min.log main;
}
location = /js/cink\.combined\.min\.js$ {
access_log /var/log/cink.applegrew.com/download-combined-min.log main;
}
location /js/src/ { #This works
access_log /var/log/cink.applegrew.com/download-src.log main;
}
include cacheCommon.conf;
}
}
cacheCommon.conf
location ~* \.(?:ico|css|js|gif|jpe?g|png|txt|xml)$ {
# Some basic cache-control for static files to be sent to the browser
expires max;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
Это должно работать
location ~* /js/cink.renderer.min.js$ {
root /var/www/cink.applegrew.com/html;
access_log /path/to/separate/log/file;
}
Не могли бы вы выложить полный файл конфигурации?
Другой способ - использовать grep -c
:
grep -c "/js/cink.renderer.min.js" /path/to/the/main/access_log
ОБНОВИТЬ
location = /js/cink\.renderer\.min\.js$ {
access_log /var/log/cink.applegrew.com/download-renderer-min.log main;
}
$
в конце или используйте ~
вместо того =
. $
означает конец строки в RegEx, поэтому вы должны использовать ~
префикс.это, вероятно, будет работать в вашем vhost nginx для сайта
location ~* /path/to/file.ext$ {
access_log /var/log/some/seperate.log;
}
где /path/to/file.ext относится к вашему корневому каталогу