Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Nginx-Konfiguration zur Optimierung des virtuellen Hosts zur Verbesserung der Website-Leistung

Nginx-Konfiguration zur Optimierung des virtuellen Hosts zur Verbesserung der Website-Leistung

王林
王林Original
2023-07-04 14:39:10714Durchsuche

Nginx Virtual Host-Optimierungskonfiguration zur Verbesserung der Website-Leistung

Im Prozess der Website-Entwicklung und -Bereitstellung ist die Optimierung der Konfiguration einer der wichtigsten Faktoren zur Verbesserung der Website-Leistung. Als leistungsstarker Webserver und Reverse-Proxy-Server kann Nginx seine Vorteile durch eine sinnvolle Konfiguration des virtuellen Hosts voll ausspielen und die Website effizienter und stabiler machen. In diesem Artikel werden einige Optimierungskonfigurationsmethoden für den virtuellen Nginx-Host vorgestellt und entsprechende Codebeispiele bereitgestellt.

  1. Konfigurieren Sie den Abhörport richtig

Zunächst müssen wir über die Auswahl eines geeigneten Abhörports nachdenken. Nginx hört standardmäßig auf Port 80, aber wenn andere Software diesen Port belegt oder Sie mehrere Websites gleichzeitig ausführen müssen, müssen Sie die Standardkonfiguration ändern. Der Überwachungsport kann durch Ändern des Werts der listen-Direktive geändert werden. Ändern Sie beispielsweise den Port auf 8080:listen指令的值来修改监听端口。例如,将端口修改为8080:

server {
    listen 8080;
    ......
}
  1. 开启gzip压缩

启用gzip压缩可以有效减小传输的数据量,提高网站的响应速度。可以通过在虚拟主机配置中添加以下代码来启用gzip压缩:

server {
    gzip on;
    gzip_min_length 1024;
    gzip_types text/plain text/css application/javascript application/json;
    ......
}

以上配置表示当响应数据超过1024字节时,才会启用gzip压缩。同时,只有text/plain、text/css、application/javascript和application/json这几种类型的文件才会进行压缩。

  1. 设置缓存

合理设置缓存可以减少对后端服务器的请求次数,提高网站的响应速度。可以通过以下代码配置Nginx缓存:

server {
    # 配置缓存路径和大小
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m;

    # 缓存设置
    proxy_cache my_cache;
    proxy_cache_valid 200 302 12h;
    proxy_cache_valid 404 1m;

    # 代理配置
    location / {
        proxy_pass http://backend_server;
        proxy_cache_use_stale off;
        proxy_cache_bypass $http_cache_control;
        add_header Cache-Control no-store;
    }
}

以上代码中,proxy_cache_path指令用于配置缓存路径和大小,proxy_cache指令用于指定使用哪个缓存,proxy_cache_valid指令用于设置缓存的有效时间。

  1. 启用HTTP/2

HTTP/2是新一代的HTTP协议,与HTTP/1相比具有更高的并发性和性能。可以通过以下代码开启HTTP/2:

server {
    listen 443 ssl http2;
    ......
}

以上代码中,通过在listen指令中添加http2参数启用HTTP/2。

  1. 配置反向代理

Nginx作为反向代理服务器常用来负载均衡和提供缓存功能,可以通过以下代码配置反向代理:

upstream backend {
    server backend_server1 weight=3;
    server backend_server2;
    ......
}

server {
    location / {
        proxy_pass http://backend;
        ......
    }
}

以上配置中,upstream指令用于定义后端服务器集群,可以根据实际需要设置权重。location指令中的proxy_passrrreee

    Gzip-Komprimierung aktivieren

    Durch die Aktivierung der gzip-Komprimierung kann die übertragene Datenmenge effektiv reduziert und die Reaktionsgeschwindigkeit der Website verbessert werden. Die Gzip-Komprimierung kann durch Hinzufügen des folgenden Codes zur Konfiguration des virtuellen Hosts aktiviert werden:

    rrreee

    Die obige Konfiguration gibt an, dass die Gzip-Komprimierung nur aktiviert wird, wenn die Antwortdaten 1024 Bytes überschreiten. Gleichzeitig werden nur Text/Plain-, Text/CSS-, Application/Javascript- und Application/JSON-Dateien komprimiert.

      🎜Richten Sie den Cache ein🎜🎜🎜Eine ordnungsgemäße Einrichtung des Caches kann die Anzahl der Anfragen an den Back-End-Server reduzieren und die Antwortgeschwindigkeit der Website verbessern. Der Nginx-Cache kann über den folgenden Code konfiguriert werden: 🎜rrreee🎜Im obigen Code wird die Direktive proxy_cache_path verwendet, um den Cache-Pfad und die Größe zu konfigurieren, die Direktive proxy_cache wird verwendet Um anzugeben, welcher Cache verwendet werden soll, proxy_cache_valid wird verwendet, um die Cache-Gültigkeitszeit festzulegen. 🎜
        🎜HTTP/2 aktivieren🎜🎜🎜HTTP/2 ist eine neue Generation des HTTP-Protokolls mit höherer Parallelität und Leistung im Vergleich zu HTTP/1. HTTP/2 kann durch den folgenden Code aktiviert werden: 🎜rrreee🎜Im obigen Code wird HTTP/2 durch Hinzufügen des Parameters http2 zur Direktive listen aktiviert. 🎜
          🎜Reverse-Proxy konfigurieren🎜🎜🎜Nginx wird häufig als Reverse-Proxy-Server für Lastausgleich und Caching verwendet. Sie können den Reverse-Proxy über den folgenden Code konfigurieren: 🎜rrreee🎜In der obigen Konfiguration: upstream wird verwendet, um den Backend-Server-Cluster zu definieren, und die Gewichtung kann entsprechend den tatsächlichen Anforderungen festgelegt werden. proxy_pass in der location-Direktive wird verwendet, um die Adresse des Reverse-Proxy-Servers anzugeben. 🎜🎜Zusammenfassung: 🎜🎜In diesem Artikel werden einige Methoden zur Optimierung der Konfiguration des virtuellen Nginx-Hosts vorgestellt, darunter die ordnungsgemäße Konfiguration von Überwachungsports, das Aktivieren der GZIP-Komprimierung, das Einrichten des Caches, das Aktivieren von HTTP/2 und das Konfigurieren des Reverse-Proxys. Diese optimierten Konfigurationen können die Leistung und Stabilität der Website verbessern und den Benutzern ein besseres Erlebnis bieten. Natürlich muss die spezifische Konfigurationsmethode entsprechend der tatsächlichen Situation verfeinert und angepasst werden. 🎜🎜Ich hoffe, dass die Leser durch die Einführung und den Beispielcode dieses Artikels das relevante Wissen über die Konfiguration der virtuellen Host-Optimierung von Nginx besser verstehen und in praktischen Anwendungen anwenden können. 🎜

Das obige ist der detaillierte Inhalt vonNginx-Konfiguration zur Optimierung des virtuellen Hosts zur Verbesserung der Website-Leistung. 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