Heim Betrieb und Instandhaltung Nginx So konfigurieren Sie Nginx zum Aufzeichnen und Analysieren langsamer Antwortanforderungen und zum Ersetzen von Website-Antwortinhalten

So konfigurieren Sie Nginx zum Aufzeichnen und Analysieren langsamer Antwortanforderungen und zum Ersetzen von Website-Antwortinhalten

May 12, 2023 pm 08:16 PM
nginx


1. Modulinstallation
Die Installationsmethode für Nginx-Module von Drittanbietern wird hier übersprungen.
Konfigurationsparameter

./configure --prefix=/usr/local/nginx-1.4.1 --with-http_stub_status_module \
 --add-module=../ngx_http_log_request_speed
Nach dem Login kopieren

2. Befehl log_request_speed
2.1 log_request_speed_filter
Syntax:

 log_request_speed_filter [on|off]
Nach dem Login kopieren

Konfigurationsabschnitt: n/a
Kontext: Standort, Server, http
Aktivieren oder deaktivieren Sie das Modul
2.2 log_request_speed _filter_timeout
Grammatik:

log_request_speed_filter_timeout [num sec]
Nach dem Login kopieren

Standard: 5 Sekunden
Konfigurationsabschnitt: Standort, Server, http
Dies ist kein echter Timeout, aber es bedeutet, dass, wenn die Anfrage die hier angegebene Zeit überschreitet, sie im Nginx-Fehlerprotokoll aufgezeichnet wird. Der Standardwert ist 5000 Mikrosekunden (5 Sekunden), wenn eine Anfrage weniger als 5 Sekunden dauert, wird die Anfrage nicht im Protokoll aufgezeichnet, aber wenn sie 5 Sekunden überschreitet, wird die Anfrage im Nginx-Fehlerprotokoll aufgezeichnet
3 Verwendungsbeispiel
3.1 Nginx-Konfiguration

http{
   log_request_speed_filter on;
   log_request_speed_filter_timeout 3;
   ...
}
Nach dem Login kopieren

Die im Fehlerprotokoll aufgezeichneten langsamen Anforderungen lauten wie folgt

So konfigurieren Sie Nginx zum Aufzeichnen und Analysieren langsamer Antwortanforderungen und zum Ersetzen von Website-Antwortinhalten

3.2 Protokollanalyse

cd /usr/local/nginx-1.4.1/logs
wget http://wiki.nginx.org/images/a/a8/log_analyzer.tar.gz
tar -xzvf log_analyzer.tar.gz
cd request_speed_log_analyzer
# cat ../error.log | grep 'process request'| ./analyzer.pl -r
Nach dem Login kopieren
post /wp-admin/admin-ajax.php http/1.1 --- avg ms: 1182, value count: 2
get /shmb/1145.html http/1.1 --- avg ms: 2976, value count: 1 <--- the winner
Nach dem Login kopieren

Aus dem Protokoll haben wir festgestellt, dass es hier zwei langsame Anforderungen gibt, die langsamste /shmb/ 1145.html, und es ist auch als „der Gewinner“ gekennzeichnet, Autor, Sie gewinnen. Sehr humorvoll.
3.3 Skriptsyntax analysieren

# ./analyzer.pl -h
Nach dem Login kopieren
  • -h: Diese Hilfemeldung # Hilfemeldung anzeigen

  • -u: Gruppieren nach Upstream # Gruppieren nach Upstream

  • -o: Gruppieren nach Host # Gruppieren nach Host

  • -r: Auf Anfrage gruppieren # Auf Anfrage gruppieren, dies empfehlen

4. Nginx-Testversion

Der Autor testet derzeit nur unter 0.6.35 und 0.7.64 und kann nicht garantieren, dass dies möglich ist in anderen Umgebungen verwendet werden. Meine aktuelle Testversion ist 1.4.1, die derzeit normal verwendet wird. Bitte testen Sie sie, bevor Sie sie verwenden.

nginx ersetzt Website-Antwortinhalt (ngx_http_sub_module)
ngx_http_sub_module-Modul ist ein Filter, der die Zeichenfolge im Website-Antwortinhalt ändert, wenn Sie beispielsweise alle „jb51“ im Antwortinhalt durch „diese Site“ ersetzen möchten. , dies Das Modul wurde in Nginx integriert, ist jedoch nicht standardmäßig installiert. Wenn Sie es installieren müssen, müssen Sie die Konfigurationsparameter hinzufügen: --with-http_sub_module
1 Anweisungen (Anweisungen)
Syntax: ​​​​

sub_filter string replacement;
Nach dem Login kopieren

Standardwert:​​​ –
Konfigurationsabschnitt:​​​ Server, Standort
Einstellungen müssen die Beschreibungszeichenfolge verwenden, um die Beschreibungszeichenfolge zu ersetzen, und die Ersetzung ist die neuer String, der Variablen enthalten kann.
Syntax:

sub_filter_last_modified on | off;
Nach dem Login kopieren

Standardwert: sub_filter_last_modified off;
Konfigurationsabschnitt: http, server, location
Dieser Befehl wurde in dieser Version nicht hinzugefügt und kann ignoriert werden „Zuletzt geändertes“ Header-Feld aus der ursprünglichen Antwort während des Ersetzens, um das Zwischenspeichern der Antwort zu erleichtern.
Standardmäßig wird das Header-Feld entfernt, wenn der Inhalt der Antwort während der Verarbeitung geändert wird.
Syntax:

 sub_filter_once on | off;
Nach dem Login kopieren

Standardwert: sub_filter_once on;

Konfigurationsabschnitt: http, Server, Standort
Einmalige oder mehrfache Zeichenfolgenersetzung, die Standardersetzung ist einmal. Wenn Sie beispielsweise jb51 im Antwortinhalt durch diese Site ersetzen möchten, wird nur das erste angezeigt, wenn mehrere jb51 angezeigt werden Wenn diese Option deaktiviert ist, werden alle jb51 ersetzt. Syntax:

 sub_filter_types mime-type ...;
Nach dem Login kopieren
Standardwert: sub_filter_types text/html; Konfigurationsabschnitt: http, Server, Standort text/html“, wenn als * angegeben, dann alle

2. Beispiel für Nginx-Ersatzzeichenfolge

2.1 Konfiguration


server {
  listen    80;
  server_name www.jb51.net;
 
  root /data/site/www.jb51.net;  
 
  location / {
    sub_filter jb51 &#39;本站&#39;;
    sub_filter_types text/html;
    sub_filter_once on;
  }
}
Nach dem Login kopieren


2.2 Test
Der Inhalt ist wie folgt
# cat /data/site/www.jb51.net/2013/10/20131001_sub1.html
Nach dem Login kopieren
welcome to jb51!
jb51 team!
Nach dem Login kopieren

Zugriff. Ergebnisse

# curl www.jb51.net/2013/10/20131001_sub1.html
Nach dem Login kopieren
Nach dem Login kopieren

welcome to 本站!
jb51 team!
Nach dem Login kopieren

Wir Sie können sehen, dass bei der Ersetzung die Groß-/Kleinschreibung nicht beachtet wird und jb51 nur einmal ersetzt wurde. Ich habe versucht, sub_filter_once ein- und auszuschalten.

location / {
  sub_filter jb51 &#39;本站&#39;;
  sub_filter_once off;
}
Nach dem Login kopieren

Dann testen

# curl www.jb51.net/2013/10/20131001_sub1.html
Nach dem Login kopieren
Nach dem Login kopieren
welcome to 本站!
本站 team!
Nach dem Login kopieren

Wir können sehen, dass jb51 ersetzt wurde.

Wenn Sie beispielsweise nach ein Stück js anhängen möchten, lautet die Konfiguration wie folgt:

location / {
  sub_filter   </head> &#39;</head><script language="javascript" src="$script"></script>&#39;;
  sub_filter_once on;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie Nginx zum Aufzeichnen und Analysieren langsamer Antwortanforderungen und zum Ersetzen von Website-Antwortinhalten. 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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

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 ü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 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.

Wie kann ich überprüfen, ob Nginx begonnen wird? Wie kann ich überprüfen, ob Nginx begonnen wird? Apr 14, 2025 pm 12:48 PM

Verwenden Sie unter Linux den folgenden Befehl, um zu überprüfen, ob Nginx gestartet wird: SystemCTL -Status Nginx Richter basierend auf der Befehlsausgabe: Wenn "aktiv: aktiv (lief) angezeigt wird, wird Nginx gestartet. Wenn "Active: Inactive (Dead)" angezeigt wird, wird Nginx gestoppt.

So starten Sie Nginx unter Linux So starten Sie Nginx unter Linux Apr 14, 2025 pm 12:51 PM

Schritte zum Starten von Nginx unter Linux: Überprüfen Sie, ob Nginx installiert ist. Verwenden Sie SystemCTL Start Nginx, um den Nginx -Dienst zu starten. Verwenden Sie SystemCTL aktivieren NGINX, um das automatische Start von NGINX beim Systemstart zu aktivieren. Verwenden Sie den SystemCTL -Status NGINX, um zu überprüfen, ob das Startup erfolgreich ist. Besuchen Sie http: // localhost in einem Webbrowser, um die Standard -Begrüßungsseite anzuzeigen.

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 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 einen Spiegel in Docker So erstellen Sie einen Spiegel in Docker Apr 15, 2025 am 11:27 AM

Schritte zum Erstellen eines Docker -Images: Schreiben Sie eine Dockerfile, die die Build -Anweisungen enthält. Erstellen Sie das Bild im Terminal mit dem Befehl Docker Build. Markieren Sie das Bild und weisen Sie Namen und Tags mit dem Befehl Docker Tag zu.

So lösen Sie Nginx403 So lösen Sie Nginx403 Apr 14, 2025 am 10:33 AM

Wie fixiere ich Nginx 403 Verbotener Fehler? Überprüfen Sie die Datei- oder Verzeichnisberechtigungen; 2.Htaccess -Datei prüfen; 3. Überprüfen Sie die Konfigurationsdatei der Nginx; 4. Starten Sie Nginx neu. Weitere mögliche Ursachen sind Firewall -Regeln, Selinux -Einstellungen oder Anwendungsprobleme.

See all articles