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 die Typerweiterung ohne Typingscript

Vorwort Aufgrund der schwachen Typisierung von JS...

Ausführliche Erklärung zu Slots und Filtern in Vue

Inhaltsverzeichnis Spielautomaten Was sind Slots?...

Mit CSS3 können Sie eine schwebende Wolkenanimation erzielen

Wirkung der Operation html <Kopf> <meta ...

Sechs Methoden zur Nginx-Optimierung

1. Optimieren Sie die Nginx-Parallelität [root@pr...

Detaillierte Zusammenfassung häufig verwendeter MySQL-Funktionen

Inhaltsverzeichnis Allgemeine MySQL-Funktionen 1....

So verwenden Sie vue3 zum Erstellen einer Materialbibliothek

Inhaltsverzeichnis Warum brauchen wir eine Materi...

MySQL-Cursor-Prinzip und Analyse von Anwendungsbeispielen

Dieser Artikel erläutert anhand von Beispielen di...

Vue implementiert den Schnittstellen-Gleiteffekt

In diesem Artikelbeispiel wird der spezifische Co...

CSS3 verwendet Transform, um eine bewegliche 2D-Uhr zu erstellen

Nachdem wir den transform Kurs abgeschlossen habe...