Nginx-Leitfaden Essentials

Der erste Teil dieses Nginx-Artikels befasste sich mit der Architektur und der Haupt-Nginx-Konfigurationsdatei. Dieser Artikel geht von dort aus weiter und spricht über die Nginx-Grundlagen: die benötigten Module und andere fortgeschrittene Konfigurationstechniken.

Nginx-Module

Die wahre Stärke von nginx liegt in seinen Modulen. Man kann sich vorstellen, dass der gesamte Stapel aus Modulen besteht, die die Fähigkeiten des Nginx-Kerns erweitern oder erweitern. Um sie verwenden zu können, müssen sie während des Kompilierens von der Quelle aktiviert werden und können nicht zur Laufzeit aktiviert werden. 

Einige Module werden automatisch kompiliert, sofern nicht anders angegeben. Werfen wir einen Blick auf einige der interessanten und sehen Sie, welche weit verbreitet sind.

Zugriff einschränken und einschränken

Zugriff (ngx_http_access_module): Dadurch kann der Zugriff auf bestimmte IP-Adressen eingeschränkt werden.

location / deny 192.168.1.1; 192.168.1.0/24 zulassen; 10.1.1.0/16 zulassen; erlaube 2001: 0db8 :: / 32; alles abstreiten; 

HTTP Auth (ngx_http_auth_basic_module): Erlaubt die Beschränkung des Zugriffs durch HTTP Basic Auth (Benutzername / Passwort).

location / auth_basic "Passwort"; auth_basic_user_file conf / htpasswd; 

Unteranfrage Auth (ngx_http_auth_request_module): Implementiert die Client-Autorisierung basierend auf dem Ergebnis einer Unteranfrage.

Verbindungen begrenzen (ngx_http_limit_conn_module): Hier können Sie die maximale Anzahl gleichzeitiger Verbindungen von einer einzigen IP-Adresse aus festlegen.

Anforderungen begrenzen (ngx_http_limit_req_module): Begrenzt die Anzahl der Anfragen von einer einzelnen IP.

Die meisten Module, die in nginx enthalten sind und während des Kompilierens aktiviert werden können, sind hier ausführlich aufgeführt. Schauen wir uns stattdessen einige Module von Drittanbietern an, die wirklich hilfreich sein können.

Drittanbieter-Module

Diese Module müssen heruntergeladen und dann mit nginx kompiliert werden, wie Sie es in der folgenden Codezeile sehen (vorausgesetzt, Sie arbeiten im nginx-Quellverzeichnis):

./ configure --add-module = / pfad / zu / modul / source

Das Nginx-Wiki listet einige der bekannten Module von Drittanbietern auf. Lassen Sie uns über ein Modul sprechen, das Webseiten und zugehörige Assets neu schreibt, um Latenz und Bandbreite zu reduzieren.

ngx_pagespeed

Dies ist ein von Google im Rahmen des PageSpeed-Projekts entwickeltes Nginx-Modul. Der Zweck besteht offensichtlich darin, die Ladezeiten von Seiten mithilfe eines verkehrsoptimierenden nginx-Moduls zu verbessern.

Sie können dieses Modul installieren, indem Sie dem Lernprogramm 'ngx_pagespeed installieren' folgen. Dieses Modul wird dringend als Muss auf Ihren Servern empfohlen!

nginx-rtmp-modul

Live-Streaming, Aufzeichnung, Online-Transcoding, fortgeschrittene Puffertechniken. Es ist sehr einfach, mit dieser Funktion zu beginnen.

nginx-push-stream-modul

Ein http-Stream-Push-Modul für Nginx. Unterstützt EventSource Long-Abfrage. Beispiel: WebSocket.

Andere wesentliche Dinge

Bei der Verwendung von Nginx wird es auch wichtig, die folgenden unterstützenden Nginx-Dienstprogramme zu verwenden:

  1. ngxtop: ngxtop analysiert das Nginx-Zugriffsprotokoll und gibt topähnliche Metriken des Nginx-Servers aus.
  2. ngx_openresty: Verwandelt nginx in einen vollwertigen Web-App-Server.
  3. server configs: Ist ein Repository für Konfigurations-Snippets von Nginx. Wirklich wichtig, wenn Sie loslegen und die Konfiguration korrekt einrichten möchten. Hilft Ihnen beim Einstieg in die richtige Konfiguration, um die Leistung und Sicherheit der Website und die angemessene Ressourcennutzung zu verbessern.
  4. lua-nginx-modul: Bietet die Kraft von Lua in Nginx.
  5. h5ai: eine Erkundung wert. Ein moderner HTTP-Webserver-Index für Apache httpd, lighttpd, nginx und Cherokee.
  6. Sammlung von Nginx-Ressourcen.
  7. So schreiben Sie Nginx-Module.