Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara menggunakan Nginx untuk pengoptimuman prestasi permintaan HTTP

Cara menggunakan Nginx untuk pengoptimuman prestasi permintaan HTTP

WBOY
WBOYasal
2023-08-05 08:42:361336semak imbas

Cara menggunakan Nginx untuk pengoptimuman prestasi permintaan HTTP

Abstrak: Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik yang berkuasa. Ia boleh meningkatkan prestasi permintaan HTTP dalam beberapa cara. Artikel ini akan memperkenalkan beberapa teknik untuk menggunakan Nginx untuk mengoptimumkan prestasi permintaan HTTP dan memberikan contoh kod yang sepadan.

  1. Dayakan caching

Mendayakan ciri caching Nginx boleh mengurangkan beban pelayan dan meminta masa tindak balas dengan ketara. Berikut ialah konfigurasi contoh untuk mendayakan 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;
    }
  }
}

Dalam contoh di atas, kami menetapkan laluan cache dan pilihan yang berkaitan melalui arahan proxy_cache_path, dan kemudian menggunakan blok location The arahan code>proxy_cache mendayakan caching dan arahan proxy_cache_valid menentukan masa kesahihan cache bagi kod respons yang berbeza. 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

    Dayakan pemampatan Gzip

    Mendayakan pemampatan Gzip boleh mengurangkan saiz fail yang dipindahkan, sekali gus mengurangkan penggunaan lebar jalur rangkaian. Berikut ialah contoh konfigurasi untuk mendayakan pemampatan Gzip:

    rrreee

    Dalam contoh di atas, kami mendayakan pemampatan Gzip melalui arahan gzip on dan pemampatan yang ditentukan melalui fail arahan gzip_types taip.

      Gunakan HTTP/2
    • HTTP/2 ialah protokol rangkaian baharu dengan banyak peningkatan prestasi berbanding HTTP/1.1. Mendayakan HTTP/2 menyediakan konkurensi yang lebih tinggi dan mengurangkan kependaman. Berikut ialah konfigurasi sampel untuk mendayakan HTTP/2:
    • rrreee
    • Dalam contoh di atas, kami menetapkan penggunaan port 443 dan mendayakan HTTP/2 melalui arahan listen.
    1. Gunakan perkhidmatan pecutan cache Nginx
    2. Nginx boleh berfungsi sebagai perkhidmatan pecutan cache, memproksi permintaan daripada pelayan hujung belakang untuk mengurangkan beban pada hujung belakang. Berikut ialah contoh konfigurasi untuk mendayakan perkhidmatan pecutan cache: rrreee🎜Dalam contoh di atas, kami mentakrifkan senarai pelayan bahagian belakang melalui arahan hulu dan kemudian menggunakannya dalam lokasi blok Arahan proxy_pass digunakan untuk meminta proksi daripada pelayan hujung belakang. 🎜🎜Kesimpulan: 🎜🎜Dengan mendayakan caching, mendayakan pemampatan Gzip, menggunakan HTTP/2 dan menggunakan perkhidmatan pecutan cache Nginx, kami boleh meningkatkan prestasi permintaan HTTP dengan ketara. Di atas ialah beberapa petua dan contoh kod yang sepadan untuk menggunakan Nginx untuk mengoptimumkan prestasi permintaan HTTP. 🎜🎜Rujukan: 🎜🎜🎜Dokumentasi Nginx: https://nginx.org/en/docs/🎜🎜Caching Nginx: https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache🎜 Mampatan: https://nginx.org/en/docs/http/ngx_http_gzip_module.html🎜🎜Nginx HTTP/2: https://nginx.org/en/docs/http/http2_module.html🎜🎜Proksi Balik Nginx: https ://nginx.org/en/docs/http/ngx_http_proxy_module.html🎜🎜

    Atas ialah kandungan terperinci Cara menggunakan Nginx untuk pengoptimuman prestasi permintaan HTTP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn