Heim > Betrieb und Instandhaltung > Nginx > So verwenden Sie das Nginx_geo-Modul zur Implementierung der CDN-Planung

So verwenden Sie das Nginx_geo-Modul zur Implementierung der CDN-Planung

WBOY
Freigeben: 2023-05-30 10:27:18
nach vorne
1464 Leute haben es durchsucht

Stellen Sie das Geo-Modul von Nginx vor

Der Geo-Befehl wird vom Modul ngx_http_geo_module bereitgestellt. Standardmäßig lädt Nginx dieses Modul, es sei denn, --without-http_geo_module wird manuell konfiguriert. Das Modul

ngx_http_geo_module kann zum Erstellen von Variablen verwendet werden, deren Werte von der IP-Adresse des Clients abhängen. Die Verwendung ist wie folgt:

geo指令
语法: geo [$address] $variable { ... }
默认值: —
配置段: http
Nach dem Login kopieren

Definieren Sie, um die IP-Adresse des Clients aus der angegebenen Variablen abzurufen. Standardmäßig erhält nginx die Client-IP-Adresse aus der Variablen $remote_addr, sie kann jedoch auch aus anderen Variablen bezogen werden.

在/usr/local/nginx/conf/nginx.conf文件内加入以下配置
geo $geo {
    ranges;          #使用以地址段的形式定义地址,这个参数必须放在首位   
    default dn;
    include ip_geo.conf;
  }

    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 {
    listen    80;
    server_name 192.168.155.98 jiaoyu.media.cloudp.cc;
      root   html;
      index index.html index.htm;
    location ~* \.xml$ {
      root /data/video;
    }
    location / {
      proxy_redirect off;
      proxy_set_header host $host;
      proxy_set_header x-real-ip $remote_addr;
      proxy_set_header x-forwarded-for 
      $proxy_add_x_forwarded_for;
      proxy_pass http://$geo.server$request_uri;
    }
  }

  server {
    listen 8081;
    server_name 192.168.155.98;
    location / {
      rewrite ^ $scheme://192.168.155.106$request_uri? permanent;
    }
  }

  server {
    listen 8082;
    server_name 192.168.155.98;
    location / {
        rewrite ^ $scheme://192.168.155.107$request_uri? permanent;
    }
  }

server {
    listen 8083;
    server_name 192.168.155.98;
    location / {
        rewrite ^ $scheme://192.168.155.109$request_uri? permanent;
    }
  }

  server {
    listen 8084;
    server_name 192.168.155.98;
    location / {
        rewrite ^ $scheme://jiaoyu.dn.cloudp.cc$request_uri? permanent;
    }
}
Nach dem Login kopieren

Fügen Sie die Datei ip_geo.conf unter der Datei /usr/local/nginx/conf/ hinzu, um den IP-Bereich zu teilen. Beachten Sie, dass es beim Teilen keine IP-Überschneidungen geben sollte, da sonst „Überlappungsfehler“ auftreten.

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;
Nach dem Login kopieren

Auch IP Die Segmentierung kann in Form von 10.2.0.0/16 Wuhan durchgeführt werden, sodass keine Notwendigkeit besteht, die Range-Direktive zu verwenden, um sie in nginx.conf zu definieren

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Nginx_geo-Modul zur Implementierung der CDN-Planung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage