首页 >后端开发 >php教程 >想统计24小时内有哪些IP来访问过我的网站(LAMP),怎么实现?

想统计24小时内有哪些IP来访问过我的网站(LAMP),怎么实现?

WBOY
WBOY原创
2016-06-06 20:09:131044浏览

用什么语言都可以,最好perl或者PHP。

  1. 在网站首页加一个记录IP的功能。

  2. 直接分析Apaches的日志。

应该选1 还是 2?

我现在的想法,选2.

但,实际怎么写?最好perl或者PHP。

谁能写个样子出来?

回复内容:

用什么语言都可以,最好perl或者PHP。

  1. 在网站首页加一个记录IP的功能。

  2. 直接分析Apaches的日志。

应该选1 还是 2?

我现在的想法,选2.

但,实际怎么写?最好perl或者PHP。

谁能写个样子出来?

两种方法目前都在用

  1. 用的piwik,原理是在页面上埋下JS代码片段,页面被访问后发ajax请求到服务端进行统计。优点是易部署,易统计。缺点是侵入性,即要破坏页面的原来的结构(至少要加一段代码);同时也受制于客户端,客户端如果关闭JS,或者请求发送失败,都会导致统计失效。
    piwik是自己部署的,也可以使用cnzz, 腾讯统计,量子统计等第三方的服务,免费的。

  1. 统计日志,这个方案原理是把访问的日志收集起来并分析得到结果,我现在用的是awstats,这货用起来可以完成基本的统计任务,但是如果不做详细设置的话,统计的结果可能不是很理想。另外因为日志累积起来容量很大,一个日访问百万左右的站点,得到的日志可能都是G级别的,为了不影响主站点的web服务,大多数情况是把日志汇总到另一台服务器去计算,每天同步几个G甚至是几十G或者更多的日志,这对网络有较高的要求。当访问量再大一些,同时对访问量实时性有要求后,就需要实时回传日志,实时统计了,这时候就要部署消息传递系统了,有一套开源的较为成熟的方案是ELK,分别是elstackSearch,logstatsh,kibana。当需要实时回传时,再搭配消息传递机制以及redis缓存服务,想想就是不一般的复杂,不过部署完之后有点高科技的感觉……

以上是针对中小型的站点的一些访问量统计方案的个人理解,有些地方可能有误解,仅供参考。

对于大型站点,应该因站而异了吧。

我知道的有统计网站,cnzz链接。题主可以参考。

百度统计 腾讯统计都可以啊

http://tongji.baidu.com

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn