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

Detaillierte Erläuterung des Datenreaktionsprinzips von Vue

Dieser Artikel richtet sich hauptsächlich an diej...

Detaillierte Erklärung, wie Tomcat asynchrone Servlets implementiert

Vorwort Durch meine vorherige Tomcat-Artikelserie...

Detaillierte Erläuterung des MySQL Workbench-Nutzungs-Tutorials

Inhaltsverzeichnis (I) Verwenden von Workbench zu...

Detailliertes Tutorial zur Installation von JDK1.8 unter Linux

1. Reinigung vor der Installation rpm -qa | grep ...

Empfohlene Methode zur Fehlerbehandlung für canvas.toDataURL image/png

Problemhintergrund: Es ist erforderlich, einen Sc...

So ändern Sie die Zeichensatzkodierung in MySQL 5.5/5.6 unter Linux auf UTF8

1. Melden Sie sich bei MySQL an und verwenden Sie...

Vergleich zwischen Redis und Memcache und Auswahlmöglichkeiten

Ich verwende Redis seit Kurzem und finde es recht...

Die neueste Installations- und Konfigurationsmethode für MySQL-5.7.21

1. Entpacken Sie das heruntergeladene MySQL-Kompr...

Erstellen eines Image-Servers mit FastDFS unter Linux

Inhaltsverzeichnis Serverplanung 1. Systemkompone...

So ändern Sie den Replikationsfilter in MySQL dynamisch

MySQL Replikationsfilter dynamisch ändern Lassen ...

Detaillierter Prozess zum Erstellen von mysql5.7.29 unter Centos7 von Linux

1. MySQL herunterladen 1.1 Download-Adresse https...

Alibaba Cloud beantragt ein kostenloses SSL-Zertifikat (https) von Cloud Shield

Da das Projekt den https-Dienst nutzen muss, habe...