Heim Betrieb und Instandhaltung Nginx Nginx-Protokollschnitt-Konfigurationsanalyse, Verwaltung der Website-Protokollspeicherung

Nginx-Protokollschnitt-Konfigurationsanalyse, Verwaltung der Website-Protokollspeicherung

Jul 04, 2023 am 10:12 AM
nginx 日志切割 网站日志存储

Nginx-Protokollschnitt-Konfigurationsanalyse, Verwaltung der Website-Protokollspeicherung

Im Betriebsprozess einer Website sind Protokolle sehr wichtig. Es kann detaillierte Aufzeichnungen über den Betriebsstatus der Website bereitstellen und Entwicklern und Administratoren dabei helfen, Probleme zu analysieren und die Leistung zu optimieren. Mit zunehmendem Wachstum der Website werden die Protokolldateien jedoch immer größer, was den Speicherplatz und die Leistung des Servers belastet. Um dieses Problem zu lösen, können wir die Protokolldateien von Nginx mithilfe der Protokollschneidefunktion nach Zeit oder Größe aufteilen und so eine effektive Protokollverwaltung und -speicherung erreichen.

Nginx ist ein Hochleistungs-Webserver, dessen Funktionen und Verhalten über Konfigurationsdateien flexibel angepasst werden können. Im Folgenden zeigen wir anhand eines einfachen Beispiels, wie Nginx für die Implementierung des Protokollschneidens konfiguriert wird.

Zuerst müssen wir das Protokollformat und den Speicherpfad in der Nginx-Konfigurationsdatei angeben. Im http-Modul von Nginx können Sie das Protokollformat definieren, indem Sie den folgenden Code hinzufügen: http模块中,可以通过添加以下代码来定义日志格式:

http {
    ...
    log_format access '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';
    ...
}
Nach dem Login kopieren

在上述代码中,log_format指令定义了一个名为access的日志格式,其中包含了一些常用的日志变量,如客户端IP地址、访问时间、请求URL、返回状态码等。

接下来,我们需要将这个日志格式应用到具体的访问日志中。在Nginx的server块中,可以通过添加以下代码来指定访问日志的存储路径和格式:

server {
    ...
    access_log /var/log/nginx/access.log access;
    ...
}
Nach dem Login kopieren

在上述代码中,access_log指令指定了访问日志的存储路径和格式。其中,/var/log/nginx/access.log为日志文件的存储路径,access为之前定义的日志格式名称。

默认情况下,Nginx会把所有的访问日志写入到同一个文件中。但是,当这个文件变得非常大时,我们可能会希望将它拆分成多个小文件。为了实现这个功能,我们可以使用Nginx提供的logrotate工具。

logrotate是一个常用的日志切割工具,可以根据指定的规则来拆分日志文件。我们可以编写一个名为nginx的配置文件,其中定义了Nginx访问日志的拆分规则。下面是一个示例:

/var/log/nginx/access.log {
    daily
    rotate 7
    missingok
    notifempty
    compress
    postrotate
        /usr/sbin/nginx -s reopen
    endscript
}
Nach dem Login kopieren

在上述代码中,/var/log/nginx/access.log为需要被拆分的日志文件路径。daily指定了按天拆分,rotate 7表示保留7天的日志文件。missingok表示如果日志文件不存在,也不报错。notifempty表示如果日志文件为空,也不报错。compress表示对新生成的日志文件进行压缩。postrotateendscript之间的代码会在日志文件切割完成后执行,这里使用/usr/sbin/nginx -s reopen来通知Nginx重新打开日志文件。

最后,我们需要将这个nginx配置文件放置到/etc/logrotate.d/目录下。logrotaterrreee

Im obigen Code definiert die log_format-Direktive ein Protokollformat namens access , das enthält einige häufig verwendete Protokollvariablen, wie z. B. Client-IP-Adresse, Zugriffszeit, Anforderungs-URL, Rückgabestatuscode usw.

Als nächstes müssen wir dieses Protokollformat auf das spezifische Zugriffsprotokoll anwenden. Im server-Block von Nginx können Sie den Speicherpfad und das Format des Zugriffsprotokolls angeben, indem Sie den folgenden Code hinzufügen: 🎜rrreee🎜Im obigen Code gibt die access_log-Direktive an Zugriffsprotokollspeicherpfad und -format. Darunter ist /var/log/nginx/access.log der Speicherpfad der Protokolldatei und access der Name des zuvor definierten Protokollformats. 🎜🎜Standardmäßig schreibt Nginx alle Zugriffsprotokolle in dieselbe Datei. Wenn diese Datei jedoch sehr groß wird, möchten wir sie möglicherweise in mehrere kleinere Dateien aufteilen. Um diese Funktion zu erreichen, können wir das von Nginx bereitgestellte Tool logrotate verwenden. 🎜🎜logrotate ist ein häufig verwendetes Protokollschneidewerkzeug, das Protokolldateien nach festgelegten Regeln aufteilen kann. Wir können eine Konfigurationsdatei mit dem Namen nginx schreiben, die die Aufteilungsregeln für Nginx-Zugriffsprotokolle definiert. Hier ist ein Beispiel: 🎜rrreee🎜Im obigen Code ist /var/log/nginx/access.log der Pfad der Protokolldatei, die aufgeteilt werden muss. daily gibt die Aufteilung nach Tagen an, und rotate 7 bedeutet, dass Protokolldateien 7 Tage lang aufbewahrt werden. missingok bedeutet, dass kein Fehler gemeldet wird, wenn die Protokolldatei nicht vorhanden ist. notifempty bedeutet, dass kein Fehler gemeldet wird, wenn die Protokolldatei leer ist. komprimieren bedeutet, die neu generierte Protokolldatei zu komprimieren. Der Code zwischen postrotate und endscript wird ausgeführt, nachdem die Protokolldatei ausgeschnitten wurde. Verwenden Sie dazu /usr/sbin/nginx -s reopen notify Nginx öffnet die Protokolldatei erneut. 🎜🎜Schließlich müssen wir diese nginx-Konfigurationsdatei im Verzeichnis /etc/logrotate.d/ ablegen. logrotate scannt dieses Verzeichnis regelmäßig und teilt die Protokolle dann entsprechend den darin enthaltenen Konfigurationsdateien auf. 🎜🎜Das Obige ist ein einfaches Beispiel für die Verwendung von Nginx zum Implementieren des Holzschneidens. Durch die ordnungsgemäße Konfiguration des Protokollformats und der Schnittregeln von Nginx können wir die Zugriffsprotokolle der Website effektiv verwalten und speichern. Dies spart nicht nur Speicherplatz, sondern verbessert auch die Gesamtleistung des Servers. Ich hoffe, dieser Artikel ist hilfreich für Sie. 🎜

Das obige ist der detaillierte Inhalt vonNginx-Protokollschnitt-Konfigurationsanalyse, Verwaltung der Website-Protokollspeicherung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx Apr 14, 2025 pm 12:18 PM

So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

So überprüfen Sie die Nginx -Version So überprüfen Sie die Nginx -Version Apr 14, 2025 am 11:57 AM

Die Methoden, die die Nginx -Version abfragen können, sind: Verwenden Sie den Befehl nginx -v; Zeigen Sie die Versionsrichtlinie in der Datei nginx.conf an. Öffnen Sie die Nginx -Fehlerseite und sehen Sie sich den Seitentitel an.

So starten Sie einen Container von Docker So starten Sie einen Container von Docker Apr 15, 2025 pm 12:27 PM

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

So starten Sie den Nginx -Server So starten Sie den Nginx -Server Apr 14, 2025 pm 12:27 PM

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

So erstellen Sie Container für Docker So erstellen Sie Container für Docker Apr 15, 2025 pm 12:18 PM

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]

See all articles