Home  >  Q&A  >  body text

php - Nginx log如何记录用户信息

现在我的网站是用Nginx+php,现在想要统计来访的登录用户,观察一个人在网站上的足迹。不想用php来做,因为每一个访问都要做一次记录,php做效率不高,想直接打印在nginx access log里。
我想到的方案是:在日志里记录每一个条访问来自于哪个用户(如果是登录用户就记录用户ID,没有登录的也能给他一个key值,用来标示他的身份),然后结合nginx access log记录的其他内容就可以做比较好看的统计数据报告了。
问题是,我不知道该怎么去做这个记录。。。又不能在每一个用户的URL上带上他的ID。。。

黄舟黄舟2770 days ago756

reply all(3)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 14:24:23

    这个简单。。在页面上搞一个ajax请求,URL带上UID就行了,nginx肯定会记下来,而且相应的log也很容易提取出来。

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 14:24:23

    为了更灵活的处理日志格式,建议你直接选用ngx_lua模块。这样的话就可以自定义日志格式了,记录也可以直接导入数据库处理,非常的方便。

    reply
    0
  • 迷茫

    迷茫2017-04-10 14:24:23

    我没有太清晰的思路, 不过我觉得nginx能做到应该是http协议层面的东西,有关http相关的数据都可以记录下,但是涉及到ID业务级别的东西,恐怕不好做。如果想做也需要程序和nginx的变量参数相关看是否可以配合实现。
    另外业务程序上面肯定还要输出其它很多日志,这个是在所难免的。

    reply
    0
  • Cancelreply