Cara menggunakan Nginx untuk pemampatan dan penyahmampatan gzip
Nginx ialah pelayan web berprestasi tinggi yang juga boleh bertindak sebagai pelayan proksi terbalik dan pengimbang beban. Dalam pembangunan aplikasi web, mengoptimumkan kelajuan laman web adalah tugas yang sangat penting. Menggunakan teknologi pemampatan dan penyahmampatan gzip boleh mengurangkan saiz fail yang dipindahkan dan meningkatkan kelajuan akses tapak web dengan berkesan. Artikel ini akan memperkenalkan cara menggunakan Nginx untuk pemampatan dan penyahmampatan gzip.
Pertama, kita perlu mendayakan pemampatan gzip dalam fail konfigurasi Nginx. Biasanya, fail konfigurasi Nginx terletak di /etc/nginx/nginx.conf.
Buka fail konfigurasi dan cari item konfigurasi gzip di bawah modul http, seperti yang ditunjukkan di bawah:
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; ... }
Dalam konfigurasi di atas, gzip on bermaksud menghidupkan fungsi mampatan gzip. gzip_disable "msie6" bermaksud untuk melumpuhkan fungsi pemampatan gzip penyemak imbas msie6 kerana terdapat masalah dengan sokongan penyemak imbas untuk pemampatan gzip. gzip_types menentukan jenis fail yang memerlukan pemampatan gzip.
Tambahkan item konfigurasi gzip_comp_level di bawah item konfigurasi gzip di atas, yang mewakili tahap mampatan gzip. Tahapnya berkisar antara 1 hingga 9. Semakin tinggi nombor, semakin tinggi kadar mampatan, tetapi ia juga akan meningkatkan masa mampatan.
Konfigurasi sampel adalah seperti berikut:
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; gzip_comp_level 6; ... }
Dalam konfigurasi di atas, gzip_comp_level ditetapkan kepada 6, menunjukkan tahap mampatan gzip.
Tambahkan item konfigurasi gzip_buffers di bawah item konfigurasi gzip di atas untuk menunjukkan saiz penimbal mampatan. Secara lalai, Nginx memperuntukkan penimbal mampatan secara automatik berdasarkan kandungan tindak balas. Walau bagaimanapun, jika anda mempunyai keperluan khas untuk saiz penimbal mampatan, ia boleh dikonfigurasikan.
Konfigurasi sampel adalah seperti berikut:
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; gzip_comp_level 6; gzip_buffers 16 8k; ... }
Dalam konfigurasi di atas, gzip_buffers ditetapkan kepada 16 8k, yang bermaksud memperuntukkan 16 penimbal mampatan bersaiz 8k.
Tambah item konfigurasi panjang_min_gzip di bawah item konfigurasi gzip di atas untuk menunjukkan saiz fail minimum untuk pemampatan gzip. Mampatan Gzip hanya akan berlaku jika saiz fail melebihi nilai ini.
Konfigurasi sampel adalah seperti berikut:
http { gzip on; gzip_disable "msie6"; gzip_types text/plain text/css application/javascript; gzip_comp_level 6; gzip_buffers 16 8k; gzip_min_length 256; ... }
Dalam konfigurasi di atas, gzip_min_length ditetapkan kepada 256, yang bermaksud pemampatan gzip hanya akan dilakukan apabila saiz fail melebihi 256 bait.
Selepas konfigurasi di atas, Nginx akan secara automatik memampatkan gzip fail yang sesuai yang diminta oleh pelanggan. Apabila fail yang diminta oleh klien dimampatkan gzip, Nginx akan menambah pengepala respons "Pengekodan Kandungan: gzip" secara automatik dan nyahmampat kandungan respons.
Malah, Nginx bukan sahaja boleh gzip dan nyahmampat fail, tetapi juga gzip kandungan respons yang dijana secara dinamik. Untuk kandungan respons yang dijana secara dinamik, pemampatan gzip boleh dicapai dengan menetapkan pengepala pengekodan halaman yang berkaitan, seperti yang ditunjukkan di bawah:
location / { ... gzip_proxied any; ... }
Dalam konfigurasi di atas, gzip_proxied ditetapkan kepada mana-mana, yang bermaksud pemampatan gzip dilakukan pada semua jenis permintaan.
Melalui konfigurasi dan kod sampel di atas, kami boleh menggunakan fungsi pemampatan dan penyahmampatan gzip Nginx secara fleksibel untuk mengoptimumkan kelajuan akses tapak web. Pada masa yang sama, untuk kandungan respons yang dijana secara dinamik, pemampatan gzip juga boleh dicapai dengan menetapkan pengepala pengekodan halaman.
Atas ialah kandungan terperinci Cara menggunakan Nginx untuk pemampatan dan penyahmampatan gzip. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!