Nginx ist ein hochleistungsfähiger Open-Source-Webserver und Reverse-Proxy-Server, der in groß angelegten Website-Architekturen häufig verwendet wird. Um die stabile Betriebs- und Leistungsoptimierung des Systems zu gewährleisten, müssen wir normalerweise das Anforderungsprotokoll des Webdienstes aufzeichnen und analysieren. In diesem Artikel wird detailliert eingeführt, wie Sie Anforderungsprotokolle über den NGINX -Proxy -Server aufzeichnen und analysieren und die Protokollanalyse über einige gängige Tools durchführen.
Zunächst müssen wir die Funktion für Anforderungsprotokollierung in der NGINX -Konfigurationsdatei aktivieren. Öffnen Sie die Nginx -Konfigurationsdatei `/etc/nginx/nginx.conf` und fügen Sie die folgende Konfiguration im HTTP -Block hinzu:
http { ... log_format main '$ remote_addr - $ remote_user [$ time_local] "$ request"' ' '$ status $ body_bytes_sent "$ http_referer"' ' "" $ http_user_agent "" $ http_x_forwarded_for "'; access_log /var/log/nginx/access.log main; ... }
Die obige Konfiguration verwendet die Anweisung "log_format", um das Log -Format zu definieren, das gängige Informationen wie Client -IP, Anforderungszeit, Anforderungsmethode, Statuscode usw. enthält. Als nächstes verwenden Sie die Anweisung "access_log", um die Protokollinformationen in die angegebene Datei `/var/log/nginx/access.log zu geben.
Als nächstes müssen wir die Reverse -Proxy -Funktion von NGINX konfigurieren, um die Anforderung an den Backend -Webdienst zu proxy. Öffnen Sie die NGINX -Konfigurationsdatei und fügen Sie die folgende Konfiguration im Serverblock hinzu:
Server { ... Standort / { proxy_pass http: // Backend; proxy_set_header host $ host; proxy_set_header x-real-ip $ remote_addr; ... } ... }
In dieser Konfiguration bedeutet Standort/`, dass alle Anfragen in den Backend -Webdienst (z. B.` http: // backend`) verteilt werden. `proxy_set_header` wird verwendet, um Anforderungsheader wie Host und X-Real-IP festzulegen, um sicherzustellen, dass der Backend-Server die richtigen Anforderungsinformationen empfängt.
Um das Anforderungsprotokoll zu analysieren, können wir Befehlszeilen -Tools wie "awk", `grep` und" sort "verwenden, um Protokollstatistiken durchzuführen. Hier ist ein einfaches Beispiel, um die Anzahl der Besuche in verschiedenen IPs in einem bestimmten Zeitbereich zu zählen:
$ awk -v von = "2022-01-01 00:00:00" -V to = "2022-01-01 23:59:59" \ '$ 4> = von && $ 4 <= bis {print $ 1}' /var/log/nginx/access.log | \ sortieren | Uniq -c | sortieren -rn
In diesem Befehl wird "awk" verwendet, um Protokolle basierend auf dem Zeitbereich zu filtern und IP -Informationen zu extrahieren. Anschließend werden die IP -Adressen mit "Sort" sortiert, `uniq -c` wird verwendet, um die Anzahl der Besuche pro IP zu zählen, und schließlich wird` sort -rn` in absteigender Reihenfolge gemäß der Anzahl der Besuche sortiert.
In den oben genannten Schritten können wir die Protokollierungsfunktionen für Webanforderungen erfolgreich im Nginx -Proxy -Server implementieren. Durch die rationale Konfiguration der Protokollierung und Reverse -Proxy -Funktionen von NGINX können wir die Leistung von Webdiensten besser überwachen und optimieren. Ich hoffe, dass Sie in diesem Artikel die Konfiguration und die Analysefähigkeiten der NGINX -Protokoll- und -analyse meistern können, um Ihre Webdienste effizienter zu verwalten und zu optimieren.