So konfigurieren Sie die CDN-Planung mit dem Modul Nginx_geo

So konfigurieren Sie die CDN-Planung mit dem Modul Nginx_geo

Einführung in das Geo-Modul von Nginx

Die Geo-Direktive wird durch das Modul ngx_http_geo_module bereitgestellt. Standardmäßig lädt nginx dieses Modul, sofern nicht --without-http_geo_module angegeben ist.

Mit dem Modul ngx_http_geo_module können Variablen erstellt werden, deren Werte von der Client-IP-Adresse abhängen. So verwenden Sie es:

Syntax der Geo-Direktive: geo [$address] $variable { ... }
Standardwert: -
Konfigurationsabschnitt: http

Definiert, wie die IP-Adresse des Clients aus der angegebenen Variable abgerufen wird. Standardmäßig erhält nginx die Client-IP-Adresse aus der Variable $remote_addr, sie kann jedoch auch aus anderen Variablen bezogen werden.

Fügen Sie der Datei /usr/local/nginx/conf/nginx.conf die folgende Konfiguration hinzu: geo $geo {
    Bereiche; #Verwenden Sie die Adresse in Form von Adresssegmenten, dieser Parameter muss an erster Stelle stehen. Standard-DN;
    ip_geo.conf einschließen;
  }

    Upstream wuhan.server {
      Server 192.168.155.98:8081;
    }

    Upstream shanghai.server {
      Server 192.168.155.98:8082;
    }

    Upstream shenzhen.server {
      Server 192.168.155.98:8083;
    }

    Upstream-DN.Server {
      Server 192.168.155.98:8084;
    }

 Server {
    hören Sie 80;
    Servername 192.168.155.98 jiaoyu.media.cloudp.cc;
      Stamm-HTML;
      Index Index.html Index.htm;
    Standort ~* \.xml$ {
      Stammverzeichnis /Daten/Video;
    }
    Standort / {
      Proxy_Redirect aus;
      Proxy_Set_Header Host $host;
      Proxy_Set_Header X-Real-IP $Remote_Addr;
      proxy_set_header X-Weitergeleitet-Für 
      $proxy_add_x_weitergeleitet_für;
      Proxy-Passwort http://$geo.server$request_uri;
    }
  }

  Server {
    hören Sie 8081;
    Servername 192.168.155.98;
    Standort / {
      neu schreiben ^ $scheme://192.168.155.106$request_uri? permanent;
    }
  }

  Server {
    hören Sie 8082;
    Servername 192.168.155.98;
    Standort / {
        neu schreiben ^ $scheme://192.168.155.107$request_uri? permanent;
    }
  }

Server {
    hören Sie 8083;
    Servername 192.168.155.98;
    Standort / {
        neu schreiben ^ $scheme://192.168.155.109$request_uri? permanent;
    }
  }

  Server {
    hören Sie 8084;
    Servername 192.168.155.98;
    Standort / {
        neu schreiben ^ $scheme://jiaoyu.dn.cloudp.cc$request_uri? permanent;
    }
}

Fügen Sie die Datei ip_geo.conf unter /usr/local/nginx/conf/ hinzu, um den IP-Bereich aufzuteilen. Beachten Sie, dass es beim Aufteilen zu keiner IP-Überlappung kommen darf, da sonst ein „Überlappungs“-Fehler gemeldet wird.

vim /usr/local/nginx/conf/ip_geo.conf

192.168.128.6-192.168.128.10 Wuhan;
192.168.128.11–192.168.128.15 Shanghai;
192.168.128.16-192.168.128.20 Shenzhen;

Sie können IP-Adressen auch in der Form 10.2.0.0/16 wuhan segmentieren, sodass Sie die Bereichsdirektive nicht verwenden müssen, um sie in nginx.conf zu definieren.

Die obige Konfigurationsmethode zur Verwendung des Moduls Nginx_geo zur Implementierung der CDN-Planung ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Geomoduls in Nginx und Beispiele für die Verwendung zum Konfigurieren des Lastenausgleichs
  • Nginx-GeoIP-Modul zur Erzielung eines regionalen Lastausgleichs
  • Detaillierte Erläuterung der Konfiguration und Verwendung des Kartenmoduls im Nginx-Server

<<:  Zusammenfassung des in JS implementierten Minesweeping-Projekts

>>:  Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.23

Artikel empfehlen

Details zur Verwendung regulärer Ausdrücke in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...

Analyse des Framework-Prinzips des Linux-Eingabesubsystems

Eingabe-Subsystem-Framework Das Linux-Eingabesubs...

So zeigen Sie Webseiten in verschiedenen Auflösungen und Browsern richtig an

Die Schlüsselcodes lauten wie folgt: Code kopieren...

Beispielcode für CSS-Bildanimationseffekte (Fotorahmen)

Dieser Artikel stellt den Beispielcode für CSS-Bi...

Beispiel für die Implementierung einer kaskadierenden MySQL-Replikation

Bei der sogenannten kaskadierenden Replikation sy...

Klassischer MySQL-High-Level-/Befehlszeilenvorgang (schnell) (empfohlen)

Da ich lernen muss, wie man Server und Datenbanke...

Erstellen Sie ein privates Docker-Warehouse (selbstsignierte Methode)

Um die von uns erstellten Images zentral zu verwa...

So installieren Sie Postgres 12 + pgadmin im lokalen Docker (unterstützt Apple M1)

Inhaltsverzeichnis einführen Unterstützt Intel-CP...

Detaillierte Erklärung zum MySQL-Dateispeicher

Was ist ein Dateisystem Wir wissen, dass Speicher...

Implementierung des CSS-Ladeeffekts Pac-Man

emmm, der Name ist nur eine zufällige Vermutung 2...