So konfigurieren Sie Nginx zur Rückgabe von Text oder JSON

So konfigurieren Sie Nginx zur Rückgabe von Text oder JSON

Manchmal müssen Sie beim Anfordern bestimmter Schnittstellen eine bestimmte Textzeichenfolge oder JSON-Zeichenfolge zurückgeben. Wenn die Logik sehr einfach ist oder nur eine feste Zeichenfolge ist, können Sie sie mit nginx schnell implementieren. Sie müssen also kein Programm schreiben, um auf die Anforderung zu antworten. Dies kann die Nutzung der Serverressourcen verringern und eine sehr schnelle Reaktionsleistung ermöglichen.

Sehen wir uns zunächst die Rückgabe von festem Text und JSON an. Sie müssen lediglich die Standortabfangfunktion auf dem Server konfigurieren. Das Konfigurationsbeispiel sieht wie folgt aus:

Fester Text:

Standort ~ ^/get_text {
  Standardtyp Text/HTML;
  return 200 „Das ist Text!“; 
}

JSON behoben:

Standort ~ ^/get_json {
  Standardtyp Anwendung/JSON;
  Rückgabewert 200 '{"Status": "Erfolg", "Ergebnis": "nginx json"}';
}

Nach dem Speichern muss die Konfiguration neu geladen werden, damit sie wirksam wird. Hinweis: default_type muss hinzugefügt werden, sonst lädt der Browser es als nicht erkannte Datei herunter.

Alternativ können Sie einfach basierend auf der angeforderten URL unterschiedliche Zeichenfolgen zurückgeben, wie unten gezeigt:

Standort ~ ^/get_text/article/(.*)_(\d+).html$ {
  Standardtyp Text/HTML;
  setze $s $1;
  setze $d $2;
  gib 200 str:$s$d zurück;
}

Auf diese Weise können Sie die Zeichenfolge einfach in der URL abfangen. Natürlich können Sie auch (.*) verwenden, um alle abzugleichen. In der Praxis können Sie es je nach Bedarf definieren.

Das Obige sind einige einfache Fälle. Bei einfachen Verarbeitungen in der Serverumgebung kann die volle Nutzung von nginx einige Programmierarbeit einsparen.

Lassen Sie mich noch das Problem der chinesischen Anzeige hinzufügen. Da Linux die UTF-8-Zeichenkodierung verwendet, rendert unser Browser die Seite standardmäßig in GBK-Kodierung, wenn der Server die Kodierung nicht angibt oder die statische Seite die Kodierung nicht deklariert. Wenn also Chinesisch zurückgegeben wird, verwendet der Browser standardmäßig GBK, um die UTF-8-Kodierung zu analysieren, was offensichtlich zu verstümmelten Zeichen führt. Zu diesem Zeitpunkt müssen Sie aktiv einen Header im Nginx-Standortblock hinzufügen, um die richtige Kodierung auszugeben. Der hinzugefügte Inhalt lautet: add_header Content-Type 'text/html; charset=utf-8' ; Auf diese Weise weiß der Browser, welche Kodierung wir verwenden, wie in der folgenden Abbildung gezeigt:

Oder Sie können die Zeile „add_header“ charset utf-8 ändern.

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:
  • Nginx gibt die Json-Instanz direkt zurück
  • So ändern Sie das Nginx-Protokoll in das JSON-Format
  • So geben Sie das JSON- oder Textformat in Nginx zurück
  • Konfigurationsbeispiel für die Protokollierung im JSON-Format in nginx

<<:  JS Canvas realisiert die Funktionen von Zeichenbrett und Signaturtafel

>>:  Beispielcode für die Master-Slave-Trennung einer MySQL-Datenbank

Artikel empfehlen

So verwenden Sie React zur Implementierung einer Bilderkennungs-App

Lassen Sie mich Ihnen zuerst das Effektbild zeige...

Vue realisiert den Prozentbalkeneffekt

In diesem Artikel wird der spezifische Code von V...

TortoiseSvn Little Turtle Installation Neuestes ausführliches Grafik-Tutorial

Bei der Installation von tortoiseGit gab es immer...

Einführung in Fork in Multithreading unter Linux

Inhaltsverzeichnis Frage: Fall (1) Fork vor dem E...

Prinzipanalyse des UDP-Verbindungsobjekts und Anwendungsbeispiele

Ich habe zuvor zum Einstieg in UDP ein einfaches ...

So finden Sie identische Dateien in Linux

Während der Nutzung des Computers entsteht im Sys...

Installieren und konfigurieren Sie SSH in CentOS7

1. Installieren Sie openssh-server yum install -y...