我应该在 Nginx 中保持 access_log 处于开启状态吗?

我应该在 Nginx 中保持 access_log 处于开启状态吗?

只是从性能角度考虑,也许转向access_log off;我的网站会提高加载速度(尽管它可能非常小)但无论如何怎么会access_log真的有用因为我一生中已经检查过两次访问日志?

答案1

access_log 有助于统计(它通常是 awstats 或 webalizer 等软件包所必需的)。根据您的目标,您可能希望针对小文件(例如 .ico)或基于文件名禁用 access_log。

例如,对于我来说,我不会对静态文件运行统计,并且我使用 nginx 作为 apache 的代理。因此,我禁用了部分静态文件类型以及动态 (php) 文件的 access_log(因为 apache 会记录这些文件)。

以下是我的配置文件的示例:

    location ~  \.(jpg|jpeg|png|gif|swf|ico|js|css|txt|htm|html|xml|bmp|pdf|doc|docx|ppt|pptx|zip)$     {
        expires     30d;
        access_log off;
        break;
    }

    location ~ \.php$ {
        access_log off;
        proxy_pass   http://127.0.0.1:8080;
    }

就性能而言,收益应该微乎其微。Nginx 是一款非常高效的 Web 服务器,除非您确实要提供大量页面/文件,否则您不太可能注意到差异。但可能的优势是您的日志不会被您不感兴趣的条目填满。理想情况下,您应该将更有针对性的日志(仅包含您想要的条目)与 log-rotate 结合起来,这样您就可以压缩并删除较旧的日志条目。

相关内容