Heim Backend-Entwicklung PHP-Tutorial Fügen Sie das angeforderte Antwortprotokoll zum Nginx-Protokoll hinzu

Fügen Sie das angeforderte Antwortprotokoll zum Nginx-Protokoll hinzu

May 05, 2018 am 09:49 AM
nginx response 请求

In diesem Artikel wird hauptsächlich das Antwortprotokoll zum Hinzufügen von Anfragen zum Nginx-Protokoll vorgestellt. Es ist sehr gut und hat Referenzwert.

Da diese Funktion nicht im Build enthalten ist -in-Funktion von nginx, es ist erforderlich, das Drittanbietermodul ngx_lua zu installieren. Da dieses Modul die Lua-Sprache erfordert, müssen Sie das entsprechende Lua-Sprachpaket installieren

1 🎜>

# cd /usr/local/src
# wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz
# tar -xzvf LuaJIT-2.0.2.tar.gz
# cd LuaJIT-2.0.2
# make
Nach dem Login kopieren

Der folgende Inhalt wird angezeigt, was auf eine erfolgreiche Kompilierung hinweist

OK  Successfully built LuaJIT
make[1]: Leaving directory `/usr/local/src/LuaJIT-2.0.2/src'
==== Successfully built LuaJIT 2.0.2 ====
# make install
Nach dem Login kopieren

Das Folgende Der Inhalt wird angezeigt und zeigt eine erfolgreiche Installation an

==== LuaJIT 2.0.2 wurde erfolgreich in /usr/local installiert ====

2. Laden Sie das Nginx-Lua-Modul herunter und bereiten Sie es vor

# cd /usr/local/src
# wget https://github.com/chaoslawful/lua-nginx-module/archive/v0.8.6.tar.gz
# tar -xzvf v0.8.6
Nach dem Login kopieren

3. Nginx installieren

# cd /usr/local/src/
# wget http://nginx.org/download/nginx-1.4.2.tar.gz
# tar -xzvf nginx-1.4.2.tar.gz
# cd nginx-1.4.2
//先导入环境变量,告诉nginx去哪里找luajit
# export LUAJIT_LIB=/usr/local/lib
# export LUAJIT_INC=/usr/local/include/luajit-2.0
# ./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../lua-nginx-module-0.8.6
# make -j2
# make install
Nach dem Login kopieren

4. Testen Sie, ob die Installation erfolgreich ist

# cd /usr/local/nginx-1.4.2/conf/
# vi nginx.conf
Nach dem Login kopieren

Lua-Befehlsmethode

Fügen Sie eine Lokalisierung auf dem Server hinzu

location /hello {
   default_type 'text/plain';
   content_by_lua 'ngx.say("hello, lua")';
  }
Nach dem Login kopieren

und dann nginx starten

# cd /usr/local/nginx-1.4.2/sbin
# ./nginx
Nach dem Login kopieren

Browserzugriff:

http: //127.0.0.1/hello

Anzeige: hallo, lua

Hinweise:

1 Installationsverzeichnis jedes Moduls ohne Fehler

2. Wenn Sie apt-nginx mit der get-Methode installiert haben, müssen Sie zuerst nginx löschen, da die mit dieser Methode heruntergeladene Software nicht kompiliert werden kann

3.

Dies zeigt an, dass die Drittanbieterinstallation erfolgreich war,

5. Beginnen Sie als Nächstes mit dem Hinzufügen des Protokolls

http {
 log_format mylog 'response_body:$resp_body';

 server {
  #记录nginx请求返回值
  lua_need_request_body on;
  set $resp_body "";
  body_filter_by_lua '
   local resp_body = string.sub(ngx.arg[1], 1, 1000)
   ngx.ctx.buffered = (ngx.ctx.buffered or "") .. resp_body
   if ngx.arg[2] then
    ngx.var.resp_body = ngx.ctx.buffered
   end
  ';
     
  location / {
   proxy_pass http://127.0.0.1:5000;
   access_log /var/log/nginx/access.log mylog;
   }
 }
}
Nach dem Login kopieren

Zu diesem Zeitpunkt wurde das Antwortprotokoll erfolgreich hinzugefügt.

Wenn Sie die Lua-Sprache beherrschen, können Sie den folgenden Code ändern, um Ihren Anforderungen besser gerecht zu werden.

  body_filter_by_lua '
   local resp_body = string.sub(ngx.arg[1], 1, 1000)
   ngx.ctx.buffered = (ngx.ctx.buffered or "") .. resp_body
   if ngx.arg[2] then
    ngx.var.resp_body = ngx.ctx.buffered
   end
  ';
Nach dem Login kopieren

Bei der Protokollausgabe wird festgestellt, dass die Ergebnisse der Sprachantwort, wenn sie chinesische Zeichen enthalten, in Hexadezimalzahlen umgewandelt werden und nicht erkannt werden können.

Ein Teil des Antwortprotokolls lautet wie folgt:

response_body: {x22codex22: 404, x22messagex22: x22xE8xAFxB7xE6xB1x82xE7x9Ax84xE8xB5x84xE6xBAx90xE4xB8x8. Dx E5xADx98xE5x9CxA8x22, x22datax22: {}}


passabel Zum Lösen in Python-Skript kopieren.

str1='''
{\x22code\x22: 404, \x22message\x22: \x22\xE8\xAF\xB7\xE6\xB1\x82\xE7\x9A\x84\xE8\xB5\x84\xE6\xBA\x90\xE4\xB8\x8D\xE5\xAD\x98\xE5\x9C\xA8\x22, \x22data\x22: {}}
'''
print(str1.encode('raw_unicode_escape').decode('utf-8'))
Nach dem Login kopieren

Das Eingabeergebnis ist:

{"code": 404, "message": "Die angeforderte Ressource funktioniert nicht exist", "data": {}}

Das obige ist der detaillierte Inhalt vonFügen Sie das angeforderte Antwortprotokoll zum Nginx-Protokoll hinzu. 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)

Heiße Themen

Java-Tutorial
1663
14
PHP-Tutorial
1264
29
C#-Tutorial
1237
24
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 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 ü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 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]

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

Was tun, wenn der Nginx -Server aufgehängt wird Was tun, wenn der Nginx -Server aufgehängt wird Apr 14, 2025 am 11:42 AM

Wenn der Nginx -Server ausgeht, können Sie die folgenden Schritte zur Fehlerbehebung ausführen: Überprüfen Sie, ob der Nginx -Prozess ausgeführt wird. Zeigen Sie das Fehlerprotokoll für Fehlermeldungen an. Überprüfen Sie die Syntax der Nginx -Konfiguration. Stellen Sie sicher, dass Nginx über die Berechtigungen verfügt, die Sie für den Zugriff auf die Datei benötigen. Überprüfen Sie den Dateideskriptor, um Grenzen zu öffnen. Bestätigen Sie, dass Nginx den richtigen Port zuhört. Fügen Sie Firewall -Regeln hinzu, um den Nginx -Verkehr zuzulassen. Überprüfen Sie die Einstellungen der Reverse -Proxy, einschließlich der Verfügbarkeit von Backend Server. Für weitere Unterstützung wenden Sie sich bitte an den technischen Support.

See all articles