Nginx 访问日志。仅包含页面

Nginx 访问日志。仅包含页面

现在我的访问日志文件中有太多记录,因为图像和页面在同一个文件中。是否可以将所有图像移动到一个文件,而将 php 页面移动到第二个文件?(过滤图像和非图像文件)

server {
    root /home/nginx/site;
    index index.html index.htm index.php;

    access_log /home/nginx/site/_log/site_access.log;
    error_log /home/nginx/site/_log/site_error.log;

    listen              80;
    keepalive_timeout   70;

    location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to index.html
            try_files $uri $uri/ /index.html;
    }

    include /etc/nginx/server.conf.d/php.conf;
}

答案1

access_log指令可以在文档中所述的不同范围内使用:

上下文:http、服务器、位置、如果在位置、limit_except

例如,可以分割静态和动态内容的位置,并将所需内容记录到您想要的位置。

另一种可能性自 nginx 1.7.0 起是直接在指令中使用变量来设置条件日志记录,access_log该变量的计算结果不同于0或者空字符串何时必须进行日志记录。给定此变量的配置示例$loggable如下所示:

access_log /path/to/access.log if=$loggable;

相关内容