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

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

WBOY
WBOYOriginal
2016-06-06 20:09:131043browse

用什么语言都可以,最好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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn