nginx的日志配置文件(log_format)可以用来记录用户的访问。原理是通过cookie, 当用户第一次访问的时候,就会发送一个cookie。类似于这个样子uid=ezmLy1o4e7NMeGseAwMNAg==; path=/。第二次访问的时候浏览器就会发送这个cookie,这样nginx通过统计$cookie_uid就可以统计用户了。
默认情况这个功能并没有开启,通过配置可以开启。
配置的一个示例
可以使用在 http,server,location
userid on;
userid_name uid;
#userid_domain ;
#userid_path ;
userid_expires 365d;
第一个配置 userid on
是必须开启的,否者不发送cookie。 第二个值可选的,但是最好设置一个特别的名字,防止和程序的cookie有名字的冲突。最后一个值 可以设置成1年,意思是一年内,只要用户不清楚cookie,就可以统计一年用的访问。
log_format的配置示例
通过 $cookie_uid 进行统计 。 如果是 userid_name testuid, 那么 使用 $cookie_testuid进行统计
log_format test 'remote_addrcookie_uid';
之后的问题就是分析日志的问题了。