Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara menggunakan Nginx untuk pemampatan dan penyahmampatan permintaan HTTP

Cara menggunakan Nginx untuk pemampatan dan penyahmampatan permintaan HTTP

WBOY
WBOYasal
2023-08-02 10:09:181332semak imbas

Cara menggunakan Nginx untuk memampatkan dan menyahmampat permintaan HTTP

Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik yang berkuasa dan fleksibel. Apabila memproses permintaan HTTP, anda boleh menggunakan modul gzip dan gunzip yang disediakan oleh Nginx untuk memampatkan dan menyahmampat permintaan untuk mengurangkan jumlah penghantaran data dan meningkatkan kelajuan tindak balas permintaan. Artikel ini akan memperkenalkan langkah khusus tentang cara menggunakan Nginx untuk memampatkan dan menyahmampat permintaan HTTP, dan memberikan contoh kod yang sepadan.

  1. Mengkonfigurasi modul gzip

Mula-mula anda perlu mendayakan modul gzip dalam fail konfigurasi Nginx. Buka fail konfigurasi Nginx anda (biasanya terletak di /etc/nginx/nginx.conf atau /usr/local/nginx/conf/nginx.conf) dan cari blok http , Tambah konfigurasi berikut: /etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf),找到http块,添加以下配置:

http {
  gzip on;
  gzip_types text/plain text/css application/javascript;
  gzip_min_length 1024;
  gzip_comp_level 1;
}

上述配置的含义如下:

  • gzip on; 表示启用gzip模块。
  • gzip_types 表示需要压缩的文件类型。这里我们选择了文本文件、CSS文件和JavaScript文件。你可以根据自己的需求进行配置。
  • gzip_min_length 表示只有文件长度超过这个值的文件才会进行压缩。
  • gzip_comp_level 表示压缩级别,级别越高,压缩效果越好,但占用的CPU资源也越多。
  1. 配置gunzip模块

如果你需要对接收到的请求进行解压缩,还需要启用gunzip模块。在同一个配置文件中找到http块,添加以下配置:

http {
  gunzip on;
}
  1. 应用配置并重启Nginx

保存Nginx配置文件后,执行以下命令应用配置并重启Nginx服务:

sudo service nginx reload

请确保你具备足够的权限。

  1. 验证压缩和解压缩

现在你已经配置好了Nginx的压缩和解压缩模块。你可以通过向Nginx发送HTTP请求来验证这些功能是否生效。

首先,使用curl工具发送一个GET请求到配置的Nginx服务:

curl -H "Accept-Encoding: gzip, deflate" -I http://localhost

命令中的-H "Accept-Encoding: gzip, deflate"表示告诉服务器可以接受gzip或deflate的压缩方式。-I表示只获取响应头信息,而不需要获取完整的响应体。

如果一切正常,你将会在响应头中看到类似下面的信息:

Content-Encoding: gzip

这表示服务器已经将响应体压缩成gzip格式进行传输。

接下来,你可以使用以下命令发送一个解压缩的请求:

curl --compressed -I http://localhost

命令中的--compressed

Content-Encoding: 

Maksud konfigurasi di atas adalah seperti berikut:

gzip on; bermaksud mendayakan modul gzip.

gzip_types menunjukkan jenis fail yang perlu dimampatkan. Di sini kami telah memilih fail teks, fail CSS dan fail JavaScript. Anda boleh mengkonfigurasinya mengikut keperluan anda.

gzip_min_length bermakna hanya fail yang panjangnya melebihi nilai ini akan dimampatkan.

gzip_comp_level menunjukkan tahap mampatan Lebih tinggi tahap, lebih baik kesan mampatan, tetapi lebih banyak sumber CPU yang digunakan.

    Konfigurasikan modul gunzip
  • Jika anda perlu menyahmampat permintaan yang diterima, anda juga perlu mendayakan modul gunzip. Cari blok http dalam fail konfigurasi yang sama dan tambahkan konfigurasi berikut:
  • rrreee
    1. Gunakan konfigurasi dan mulakan semula Nginx
    Selepas menyimpan fail konfigurasi Nginx, laksanakan arahan berikut untuk menggunakan konfigurasi dan mulakan semula perkhidmatan Nginx: 🎜 rrreee🎜Sila pastikan anda mempunyai kebenaran yang mencukupi. 🎜
      🎜Sahkan mampatan dan penyahmampatan🎜🎜🎜Kini anda telah mengkonfigurasi modul mampatan dan penyahmampatan Nginx. Anda boleh mengesahkan bahawa ciri ini berfungsi dengan menghantar permintaan HTTP ke Nginx. 🎜🎜Mula-mula, gunakan alat curl untuk menghantar permintaan GET kepada perkhidmatan Nginx yang dikonfigurasikan: 🎜rrreee🎜-H "Terima-Pengekodan: gzip, kempis" dalam arahan bermakna memberitahu pelayan bahawa ia boleh terima kaedah mampatan gzip atau kempis. -I menunjukkan bahawa hanya maklumat pengepala respons diperoleh, tanpa mendapatkan badan respons yang lengkap. 🎜🎜Jika semuanya berjalan lancar, anda akan melihat maklumat yang serupa dengan yang berikut dalam pengepala respons: 🎜rrreee🎜Ini bermakna pelayan telah memampatkan badan respons ke dalam format gzip untuk penghantaran. 🎜🎜Seterusnya, anda boleh menggunakan arahan berikut untuk menghantar permintaan penyahmampatan: 🎜rrreee🎜 --compressed dalam arahan memberitahu pelayan bahawa respons yang diterima telah dimampatkan dan perlu dinyahmampat. 🎜🎜Jika semuanya berjalan lancar, anda akan melihat maklumat yang serupa dengan yang berikut dalam pengepala respons: 🎜rrreee🎜Ini bermakna pelayan telah menyahmampat badan respons dan menghantarnya dalam format asalnya. 🎜🎜Melalui langkah dan pengesahan di atas, anda telah berjaya mengkonfigurasi modul gzip dan gunzip Nginx untuk melaksanakan pemampatan dan penyahmampatan permintaan HTTP. 🎜🎜Ringkasan🎜🎜Artikel ini memperkenalkan cara menggunakan Nginx untuk memampatkan dan menyahmampat permintaan HTTP, serta menyediakan contoh konfigurasi dan arahan yang berkaitan. Menggunakan modul gzip dan gunzip Nginx boleh membantu anda mengurangkan jumlah penghantaran data dan meningkatkan kelajuan tindak balas permintaan. Melalui konfigurasi dan penggunaan yang betul, prestasi dan pengalaman pengguna aplikasi web boleh dipertingkatkan. Jika anda menghadapi masalah semasa penggunaan, anda boleh merujuk kepada dokumentasi rasmi Nginx atau meminta bantuan. Saya harap kandungan artikel ini berguna kepada anda! 🎜🎜Pautan rujukan: 🎜🎜🎜Dokumentasi rasmi Nginx: http://nginx.org/en/docs/🎜🎜Panduan konfigurasi modul Gzip: https://nginx.org/en/docs/http/ngx_http_gzip_module.html🎜🎜 Panduan konfigurasi modul Gunzip: https://nginx.org/en/docs/http/ngx_http_gunzip_module.html🎜🎜

    Atas ialah kandungan terperinci Cara menggunakan Nginx untuk pemampatan dan penyahmampatan 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