Nginx: PV, UV, unabhängige IP Jeder, der Websites erstellt, weiß, dass er häufig die PV-, UV- und anderen Website-Zugriffsdaten der Website überprüfen muss. Wenn die Website über ein CDN verfügt, ist das lokale Nginx-Protokoll natürlich bedeutungslos. Im Folgenden finden Sie eine statistische Analyse der Protokollzugriffsdaten der Nginx-Website. Konzept:
Lassen Sie uns zunächst die Umgebung angeben. Dieses Mal verwenden wir nginx Version 1.7 und das Backend Tomcat führt ein dynamisches interaktives Programm aus (Benutzerauthentifizierung ist erforderlich. Wenn es sich um eine statische Seite handelt, kann der Cache-Wert nicht erfasst werden und $http_cookie ist leer). Das ist alles. Nginx-Protokolldateikonfiguration http { mime.types einschließen; Standardtyp Anwendung/Oktett-Stream; log_format main '$remote_addr - [$time_local] "$request" ' ' – $status „Benutzer_Cookie:$guid“ '; #User_Cookie ist das Protokollanzeigezeichen, $guid ist eine Variable, der spezifische Inhalt ist unten definiert, Sie können auch $http_cookie im Protokollformat schreiben, um den vollständigen Cookie-Inhalt anzuzeigen<br> sendfile an; KeepAlive-Timeout 65; Upstream-Backserver { ip_hash; Server 1.1.2.2:8080; Server 1.1.2.3:8080; } Server { hören Sie 80; Servername localhost; #if ( $http_cookie ~* "(.*)$") entspricht dem gesamten Inhaltif ( $http_cookie ~* "CSID=([A-Z0-9]*)"){ setze $guid $1; } #Nur CSID-Zeicheninformationen abgleichen, hier ist ein regulärer Ausdruck<br> access_log Protokolle/host.access.log Haupt; Standort ~* ^(.*)$ { #limit_req Zone=Allips Burst=1 Knotenlay; Proxy-Passwort http://Backserver; Proxy_Set_Header Host $host; Proxy_Set_Header X-Real-IP $Remote_Addr; Proxy_Set_Header REMOTE-HOST $remote_addr; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; maximale Körpergröße des Kunden: 8 m; } Fehlerseite 500 502 503 504 /50x.html; Standort = /50x.html { Stamm-HTML; } } Hinweis: Die Werte in $http_cookie sind Cookie-Werte, getrennt durch ";" Protokollausgabeformat
PV-Statistiken Die Anzahl der Besuche einer einzelnen Linkadresse kann gezählt werden: [root@localhost-Protokolle]# grep index.shtml host.access.log | wc -l Gesamt-PV: [root@localhost-Protokolle]# awk '{print $6}' host.access.log | wc -l Dedizierte IP [root@localhost-Protokolle]# awk '{print $1}' host.access.log | sort -r | uniq -c | wc -l UV-Statistik [root@localhost-Protokolle]# awk '{print $10}' host.access.log | sort -r | uniq -c | wc -l Cookie Test Seite Bezüglich der Art der Cookies können Sie den folgenden HTML-Code verwenden, um die einzugebenden Cookies zu bearbeiten und hinzuzufügen: #index.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <Kopf> <meta http-equiv="Inhaltstyp" content="text/html; charset=gbk"> <meta http-equiv="Refresh" content="10"> //Aktualisieren Sie die Seite zu Testzwecken alle 10 Sekunden</head> <Text> <h1>test.test.com Domänentest</h1> Die Cookies für diese Domain sind unten aufgeführt<br> <p> <Skript> document.cookie="guid=A1UD8E5512451111111111"; //Art Cookies, anhängendocument.cookie="city=beijing"; //Art Cookies, anhängendocument.write(document.cookie); //Vorhandene auflisten</script> </p> </body> </html> Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Einführung in MySQL-Isolationsebene, Sperre und MVCC
>>: 7 native JS-Fehlertypen, die Sie kennen sollten
MySQL ist ein relationales Datenbankverwaltungssy...
Inhaltsverzeichnis Ereignis Seite wird geladen Ve...
1. Installieren Sie Shadowsocks sudo apt-get inst...
Inhaltsverzeichnis Einführung Warum die Mühe? Com...
In den letzten Tagen war der Zugriff auf die Webs...
Inhaltsverzeichnis Vorwort Einführung in SessionS...
Text OK, als nächstes ist es Zeit, die Renderings...
Dieser Artikel beschreibt die gemeinsame Abfrageo...
Methode 1: Verwenden Sie den Befehl SET PASSWORD ...
Der erste Schritt besteht darin, das entsprechend...
Heute ist in meiner lokalen Entwicklungsumgebung ...
vorgenannt Dieser Artikel ist sehr kurz~ Der Haup...
Haftungsausschluss: Da das Projekt die Verwendung...
MySQL Workbench – Modellierungs- und Designtool 1...
Inhaltsverzeichnis 1. Ressourcendateien 2. Instal...