Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So verwenden Sie Nginx zur Leistungsoptimierung von HTTP-Anfragen

So verwenden Sie Nginx zur Leistungsoptimierung von HTTP-Anfragen

WBOY
WBOYOriginal
2023-08-05 08:42:361333Durchsuche

So nutzen Sie Nginx, um die Leistung von HTTP-Anfragen zu optimieren

Zusammenfassung: Nginx ist ein Hochleistungs-Webserver und ein leistungsstarker Reverse-Proxy-Server. Es kann die Leistung von HTTP-Anfragen auf verschiedene Weise verbessern. In diesem Artikel werden einige Techniken zur Verwendung von Nginx zur Optimierung der HTTP-Anforderungsleistung vorgestellt und entsprechende Codebeispiele bereitgestellt.

  1. Caching aktivieren

Die Aktivierung der Caching-Funktion von Nginx kann die Serverlast und die Antwortzeit für Anfragen erheblich reduzieren. Hier ist eine Beispielkonfiguration zum Aktivieren des Caching:

http {
  ...
  proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;

  server {
    ...
    location / {
      proxy_pass http://backend;
      proxy_cache my_cache;
      proxy_cache_valid 200 302 10m;
      proxy_cache_valid 404 1m;
    }
  }
}

Im obigen Beispiel legen wir den Cache-Pfad und die zugehörigen Optionen über die Direktive proxy_cache_path fest und verwenden dann den Block location Die Direktive code>proxy_cache ermöglicht das Caching, und die Direktive proxy_cache_valid gibt die Cache-Gültigkeitszeit verschiedener Antwortcodes an. proxy_cache_path指令设置了缓存路径和相关选项,然后在location块中使用了proxy_cache指令启用缓存,并通过proxy_cache_valid指令指定不同的响应码的缓存有效时间。

  1. 启用Gzip压缩

启用Gzip压缩可以减小传输文件的大小,进而减少网络带宽的占用。下面是一个启用Gzip压缩的示例配置:

http {
  ...
  gzip on;
  gzip_disable "msie6";
  gzip_vary on;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_buffers 16 8k;
  gzip_types text/plain text/css application/json application/javascript text/xml application/xml+rss application/atom+xml image/svg+xml;

  server {
    ...
    location / {
      proxy_pass http://backend;
      proxy_set_header Accept-Encoding "";
    }
  }
}

上述示例中,我们通过gzip on指令启用了Gzip压缩,并通过gzip_types指令指定了要进行压缩的文件类型。

  1. 使用HTTP/2

HTTP/2是一种新的网络协议,相较于HTTP/1.1有很多性能改进。启用HTTP/2可以提供更高的并发度并减少延迟。下面是一个启用HTTP/2的示例配置:

http {
  ...
  server {
    ...
    listen 443 ssl http2;
    ssl_certificate /path/to/certificate.crt;
    ssl_certificate_key /path/to/private.key;
    ...
  }
}

上述示例中,我们通过listen指令设置了使用443端口并启用了HTTP/2。

  1. 使用Nginx缓存加速服务

Nginx可以作为一个缓存加速服务,代理后端服务器的请求以减轻后端的负载。下面是一个启用缓存加速服务的示例配置:

http {
  ...
  upstream backend {
    server backend1.example.com;
    server backend2.example.com;
  }

  server {
    ...
    location / {
      proxy_pass http://backend;
      proxy_cache my_cache;
      proxy_cache_valid 200 302 10m;
      proxy_cache_valid 404 1m;
    }
  }
}

上述示例中,我们通过upstream指令定义了后端服务器的列表,然后在location块中使用了proxy_pass

    Gzip-Komprimierung aktivieren

    Durch die Aktivierung der Gzip-Komprimierung kann die Größe der übertragenen Dateien reduziert werden, wodurch die Netzwerkbandbreitennutzung reduziert wird. Das Folgende ist eine Beispielkonfiguration zum Aktivieren der Gzip-Komprimierung:

    rrreee

    Im obigen Beispiel haben wir die Gzip-Komprimierung über die Direktive gzip on aktiviert und die Komprimierung über die Direktivendatei gzip_types angegeben Typ.

      HTTP/2 verwenden
    • HTTP/2 ist ein neues Netzwerkprotokoll mit vielen Leistungsverbesserungen im Vergleich zu HTTP/1.1. Die Aktivierung von HTTP/2 sorgt für eine höhere Parallelität und reduziert die Latenz. Das Folgende ist eine Beispielkonfiguration zum Aktivieren von HTTP/2:
    • rrreee
    • Im obigen Beispiel haben wir die Verwendung von Port 443 festgelegt und HTTP/2 über die Direktive listen aktiviert.
    1. Nginx-Cache-Beschleunigungsdienst verwenden
    2. Nginx kann als Cache-Beschleunigungsdienst dienen und Anfragen von Backend-Servern weiterleiten, um die Belastung des Backends zu reduzieren. Das Folgende ist eine Beispielkonfiguration zum Aktivieren des Cache-Beschleunigungsdienstes: rrreee🎜Im obigen Beispiel definieren wir die Liste der Backend-Server über die upstream-Direktive und verwenden sie dann am Speicherort -Block Die proxy_pass-Direktive wird verwendet, um Anfragen vom Backend-Server weiterzuleiten. 🎜🎜Fazit: 🎜🎜Durch die Aktivierung des Cachings, die Aktivierung der Gzip-Komprimierung, die Verwendung von HTTP/2 und die Nutzung des Nginx-Cache-Beschleunigungsdienstes können wir die Leistung von HTTP-Anfragen deutlich verbessern. Im Folgenden finden Sie einige Tipps und entsprechende Codebeispiele für die Verwendung von Nginx zur Optimierung der HTTP-Anforderungsleistung. 🎜🎜Referenzen: 🎜🎜🎜Nginx-Dokumentation: https://nginx.org/en/docs/🎜🎜Nginx-Caching: https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache🎜🎜Nginx Gzip Komprimierung: https://nginx.org/en/docs/http/ngx_http_gzip_module.html🎜🎜Nginx HTTP/2: https://nginx.org/en/docs/http/http2_module.html🎜🎜Nginx Reverse Proxy: https ://nginx.org/en/docs/http/ngx_http_proxy_module.html🎜🎜

    Das obige ist der detaillierte Inhalt vonSo verwenden Sie Nginx zur Leistungsoptimierung von HTTP-Anfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    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