摘要:最近做項目遇到一個需求,要求自行統(tǒng)計網(wǎng)站的,并顯示到后臺。于是我們可以通過的日志實現(xiàn)。獨立地址以公網(wǎng)為依據(jù),每個獨立訪問該頁面,將會產(chǎn)生一個。文件在需要統(tǒng)計的頁面引入以下文件,生成一個當天過期的。
最近做項目遇到一個需求,要求自行統(tǒng)計網(wǎng)站的PV、UV、IP,并顯示到后臺。于是我們可以通過nginx的日志實現(xiàn)。
概念
UV:獨立訪客;以cookie為依據(jù),假設一臺電腦裝有3個不同的瀏覽器,分別打開同一個頁面,將會產(chǎn)生3個UV。
PV:訪問量;頁面每訪問或刷新一次,將會產(chǎn)生一個PV。
IP:獨立IP地址;以公網(wǎng)IP為依據(jù),每個獨立IP訪問該頁面,將會產(chǎn)生一個IP。
nginx配置
在vhost的conf文件中配置以下信息,請將此conf文件的權限設為777,否則無法自動生成日志文件。
#日志格式化 log_format tongji "$remote_addr - [$time_iso8601] "$request" " " - $status "User_Cookie:$guid" "; server { listen 80; server_name xxx.com; index index.html index.htm index.php; root /alidata/www/tongji; #將cookie中key為guid,value為字母、數(shù)字部分保存為guid if ( $http_cookie ~* "guid=([a-zA-Z0-9]*)"){ set $guid $1; } if ($time_iso8601 ~ "(d{4}-d{2}-d{2})") { set $date $1; } #訪問日志引用“tongji”的格式化,并按照日期分割保存。 access_log /alidata/www/nginx_log/access_$date.log tongji; location ~* ^(.*)$ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 8m; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
js文件
在需要統(tǒng)計uv的頁面引入以下js文件,生成一個當天過期的cookie。
var cookie = { //當天剩下的毫秒數(shù) leftTime: function() { var curTamp = new Date().getTime(); //當日凌晨的時間戳,減去一毫秒是為了防止后續(xù)得到的時間不會達到00:00:00的狀態(tài) var curWeeHours = new Date(curDate.toLocaleDateString()).getTime() - 1; var passedTamp = curTamp - curWeeHours; var leftTamp = 24 * 60 * 60 * 1000 - passedTamp; return leftTamp; }, //n:鍵名,v:鍵值,exp:過期時間(ms) setCookie: function(n, v, exp) { var date = new Date() date.setTime(date.getTime() + exp); document.cookie = n + "=" + escape(v) + ((exp == null) ? "" : ";expires=" + date.toGMTString()) }, //n為想要取到的鍵值的鍵名 getCookie: function(n) { var reg = /s/g; var result = document.cookie.replace(reg, ""); var resultArr = result.split(";"); for (var i = 0; i < resultArr.length; i++) { var nameArr = resultArr[i].split("="); if (nameArr[0] == n) { return nameArr[1]; } } } }; //生成隨機id var guid = function() { function S4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); } return (S4() + S4() + S4() + S4() + S4() + S4() + S4() + S4()); }; //如果guid不存在,則生成guid console.log(cookie.leftTime() / 1000 / 60); !cookie.getCookie("guid") && cookie.setCookie("guid", guid(), cookie.leftTime()); document.write(document.cookie);
日志文件
內(nèi)容如下
61.141.xxx.xxx - [2019-05-16T15:18:34+08:00] "GET /ttt.html HTTP/1.1" - 304 "User_Cookie:032284f362a63e3d375f8176aad4e0d7" 61.141.xxx.xxx - [2019-05-16T15:18:35+08:00] "GET /ttt.html HTTP/1.1" - 304 "User_Cookie:032284f362a63e3d375f8176aad4e0d7" 61.141.xxx.xxx - [2019-05-16T15:18:35+08:00] "GET /ttt.html HTTP/1.1" - 304 "User_Cookie:032284f362a63e3d375f8176aad4e0d7" 61.141.xxx.xxx - [2019-05-16T15:18:35+08:00] "GET /ttt.html HTTP/1.1" - 304 "User_Cookie:032284f362a63e3d375f8176aad4e0d7" 61.141.xxx.xxx - [2019-05-16T15:18:35+08:00] "GET /ttt.html HTTP/1.1" - 304 "User_Cookie:032284f362a63e3d375f8176aad4e0d7" 61.141.xxx.xxx - [2019-05-16T15:18:35+08:00] "GET /ttt.html HTTP/1.1" - 304 "User_Cookie:032284f362a63e3d375f8176aad4e0d7"
日志分析
命令
//統(tǒng)計IP awk "{print $1}" xxx/access.log(你的日志文件路徑) | sort -r |uniq -c | wc -l //統(tǒng)計PV awk "{print $6}" xxx/access.log(你的日志文件路徑) | wc -l //統(tǒng)計UV awk "{print $10}" xxx/access.log(你的日志文件路徑) | sort -r |uniq -c |wc -l
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/40421.html
摘要:之于網(wǎng)站,就像收視率之于電視,從某種程度上已成為投資者衡量商業(yè)網(wǎng)站表現(xiàn)的最重要尺度。在同一天內(nèi),只記錄第一次進入網(wǎng)站的具有獨立的訪問者,在同一天內(nèi)再次訪問該網(wǎng)站則不計數(shù)。 所謂web,即使你我素未謀面,便知志趣相投;足不出戶,亦知世界大。 01 — 什么是PV/UV 網(wǎng)站流量分析,是指在獲得網(wǎng)站訪問量基本數(shù)據(jù)的情況下對有關數(shù)據(jù)進行統(tǒng)計、分析,從中發(fā)現(xiàn)用戶訪問網(wǎng)站的規(guī)律,并將這些規(guī)律與網(wǎng)...
摘要:之于網(wǎng)站,就像收視率之于電視,從某種程度上已成為投資者衡量商業(yè)網(wǎng)站表現(xiàn)的最重要尺度。在同一天內(nèi),只記錄第一次進入網(wǎng)站的具有獨立的訪問者,在同一天內(nèi)再次訪問該網(wǎng)站則不計數(shù)。 所謂web,即使你我素未謀面,便知志趣相投;足不出戶,亦知世界大。 01 — 什么是PV/UV 網(wǎng)站流量分析,是指在獲得網(wǎng)站訪問量基本數(shù)據(jù)的情況下對有關數(shù)據(jù)進行統(tǒng)計、分析,從中發(fā)現(xiàn)用戶訪問網(wǎng)站的規(guī)律,并將這些規(guī)律與網(wǎng)...
摘要:寶塔面板優(yōu)惠券永久授權版多少錢寶塔面板讓運維簡單高效。目前,很多站長及企業(yè)可能會購買寶塔面板專業(yè)版或企業(yè)版,寶塔面板專業(yè)版僅元寶塔面板專業(yè)版僅元寶塔面板企業(yè)版僅元年寶塔面板企業(yè)版僅元年起。如寶塔數(shù)據(jù)同步工具主從復制。寶塔面板優(yōu)惠券永久授權版多少錢?寶塔面板讓運維簡單高效。面板支持Linux與Windows系統(tǒng)。一鍵配置:LAMP/LNMP、網(wǎng)站、數(shù)據(jù)庫、FTP、SSL,通過Web端輕松管理云...
閱讀 3570·2021-11-18 10:02
閱讀 1666·2021-10-12 10:12
閱讀 3075·2021-10-09 09:53
閱讀 5130·2021-09-09 09:34
閱讀 1031·2021-09-06 15:02
閱讀 2838·2021-08-05 10:02
閱讀 3249·2019-08-30 15:44
閱讀 3177·2019-08-28 18:04