Nginx的访问日志注册分析不同的stream量

谷歌分析表示,我的一个网页有200〜视图,另一个价格比较说600〜视图,我看到从Nginx的日志访问,请求是24个视图。

我用:

cat * | grep -c "http://www.mydomain/my-page.html?utm_source=buscape&utm_medium=cpc&utm_campaign=99999999" nginx_access.log 

通过这个URL获取请求的数量。

问题是,nginx保存在日志中的所有请求? 有可能nginx没有注册这个url的一些请求?

PS:我使用清漆caching

更新,因为你使用的是清漆,nginx既不会看到也不回应你的所有请求,所以nginx将不会有精确的页面浏览次数。 在这种情况下,我通常会相信GA能够很好地衡量您的stream量。 如果您想使用nginx来validation哪个分析框架有更正确的答案,则应closuresvarnish。 清漆通常不会logging到文件,因为它会影响性能(它会logging到共享内存段)。 但是,如果你想设置清漆logging到一个文件,你会想使用像varnishcsa 。


nginx会loggingnginx在访问日志中响应的所有请求只要你已经正确configuration它。 其他因素如logrotate可能会影响所有条目是否显示在您的access.log文件中。 另外,pre-nginxcaching(通过类似cloudflare或varnish)可能会影响请求是否被nginx响应。

Web服务器如Nginx会logging每个请求。 embedded到网页中的分析软件依靠访问者的浏览器来运行关联的JavaScript,除非禁用,然后加载通常在<noscript>标签之间find的通常的1像素跟踪图像。 如果浏览器安装了隐私扩展程序(如uBlock Origin),则分析可能会被阻止加载。 Google Analytics只能看到浏览器允许看到的内容。 您的Web服务器可以查看所有传入的请求,而不pipe浏览器设

刚刚重读了这个问题,正如2ps所指出的,如果你的web服务器前面有一个caching层,那么它将不会看到这些请求。