Rumah >Operasi dan penyelenggaraan >Apache >Bagaimana saya mengkonfigurasi mampatan gzip di apache menggunakan mod_deflate?
Butiran artikel ini mengkonfigurasi mampatan gzip di Apache menggunakan mod_deflate. Ia menerangkan membolehkan modul, menetapkan tahap mampatan, secara selektif memohon mampatan ke jenis fail tertentu, dan menyelesaikan masalah yang berpotensi. Focu utama
Mengkonfigurasi mampatan gzip (menggunakan mod_deflate
, yang merupakan modul Apache untuk ini) melibatkan mengubahsuai fail konfigurasi Apache anda, biasanya terletak di /etc/apache2/apache2.conf
atau /etc/httpd/conf/httpd.conf
bergantung pada sistem operasi dan Apache anda. Lokasi yang tepat mungkin berbeza -beza, jadi berunding dengan dokumentasi Apache anda jika tidak pasti. Anda memerlukan keistimewaan akar atau pentadbiran untuk membuat perubahan ini.
Pertama, pastikan mod_deflate
diaktifkan. Jika ia belum dimuatkan, anda perlu mengaktifkannya. Ini biasanya melibatkan uncommenting garis atau menambah garis dalam fail konfigurasi Apache anda, seperti ini:
<code class="apache">LoadModule deflate_module modules/mod_deflate.so</code>
Laluan ke mod_deflate.so
mungkin berbeza sedikit berdasarkan pemasangan Apache anda. Selepas membolehkan modul, anda perlu mengkonfigurasi parameternya dalam blok <directory></directory>
<virtualhost></virtualhost>
. Inilah contoh konfigurasi:
<code class="apache"><ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript application/javascript application/json DeflateCompressionLevel 6 # Optional: Exclude specific file types # AddOutputFilterByType NO_DEFLATE image/jpeg image/png image/gif </ifmodule></code>
Konfigurasi ini adalah perkara berikut:
<ifmodule mod_deflate.c></ifmodule>
: Ini memastikan konfigurasi hanya terpakai jika mod_deflate
dimuatkan.AddOutputFilterByType DEFLATE ...
: Baris ini menentukan jenis mime yang akan dimampatkan. Contohnya termasuk jenis kandungan berasaskan teks biasa. Menambah atau mengeluarkan jenis MIME di sini mengawal fail mana yang dimampatkan.DeflateCompressionLevel 6
: Ini menetapkan tahap mampatan. Jumlah yang lebih tinggi (1-9) bermaksud mampatan yang lebih tinggi tetapi penggunaan CPU yang lebih besar. 6 adalah keseimbangan yang baik antara mampatan dan prestasi. Eksperimen untuk mencari tahap optimum untuk pelayan anda.AddOutputFilterByType NO_DEFLATE ...
: Ini adalah garis pilihan untuk mengecualikan jenis fail tertentu dari pemampatan, seperti imej (JPEG, PNG, GIF), yang sering dimampatkan. Tidak termasuk ini dapat menjimatkan sumber CPU tanpa memberi kesan kepada masa muat turun yang ketara. Selepas membuat perubahan ini, mulakan semula pelayan Apache anda untuk perubahan yang akan berkuatkuasa. Perintah untuk memulakan semula Apache berbeza -beza bergantung kepada sistem pengendalian anda (misalnya, sudo systemctl restart apache2
pada Debian/Ubuntu, sudo apachectl restart
pada sesetengah sistem).
Mengaktifkan pemampatan GZIP dengan mod_deflate
menawarkan manfaat prestasi yang signifikan, terutamanya dengan mengurangkan saiz fail yang dipindahkan antara pelayan web dan penyemak imbas klien. Saiz fail yang lebih kecil diterjemahkan ke:
Keuntungan prestasi sebenar bergantung kepada faktor -faktor seperti jenis kandungan yang disajikan, saiz fail, dan sumber perkakasan pelayan. Walau bagaimanapun, anda biasanya boleh mengharapkan pengurangan besar dalam masa pemindahan dan penggunaan jalur lebar dengan pemampatan GZIP.
Jika pelayan Apache anda tidak memampatkan fail seperti yang diharapkan, walaupun mengkonfigurasi mod_deflate
, beberapa langkah penyelesaian masalah dapat membantu menentukan masalah:
mod_deflate
diaktifkan dan dikonfigurasi dengan betul: Semak fail konfigurasi Apache anda untuk memastikan bahawa mod_deflate
dimuatkan dan arahan AddOutputFilterByType
termasuk jenis mime yang betul. Cari kesilapan sintaks dalam konfigurasi anda.mod_deflate
. Log ini sering memberikan petunjuk berharga tentang mengapa mampatan tidak berfungsi. Lokasi log ralat bergantung pada sistem anda, tetapi lokasi umum termasuk /var/log/apache2/error.log
atau /var/log/httpd/error_log
.Content-Encoding
. Jika ia hilang atau tidak menunjukkan gzip
, mampatan tidak berfungsi.mod_deflate
. Lumpuhkan sementara modul lain untuk melihat sama ada seseorang itu menyebabkan konflik.Jika anda telah memeriksa semua perkara ini dan masih tidak dapat menyelesaikan masalah ini, berikan lebih banyak maklumat mengenai versi Apache, sistem operasi, dan mesej ralat khusus yang anda lihat untuk bantuan yang lebih disasarkan.
Ya, anda boleh secara selektif menggunakan mampatan gzip ke jenis fail atau direktori tertentu menggunakan mod_deflate
. Anda mencapai ini dengan menggunakan arahan <filesmatch></filesmatch>
, <directory></directory>
, atau <location></location>
dalam fail konfigurasi Apache anda, digabungkan dengan arahan AddOutputFilterByType
.
Contoh 1: Memampatkan hanya jenis fail tertentu dalam direktori:
<code class="apache"><directory> AddOutputFilterByType NO_DEFLATE image/* </directory></code>
Contoh ini menghalang mampatan imej dalam direktori /var/www/html/images
.
Contoh 2: Memampatkan jenis fail tertentu dalam tuan rumah maya:
<code class="apache"><virtualhost> ServerName example.com DocumentRoot /var/www/example.com <filesmatch> AddOutputFilterByType DEFLATE text/html text/plain text/css application/x-javascript application/javascript </filesmatch> <filesmatch> AddOutputFilterByType NO_DEFLATE image/* </filesmatch> </virtualhost></code>
Contoh ini memampatkan hanya fail HTML, TXT, CSS, dan JS dalam hos maya example.com
, sementara secara jelas tidak termasuk fail imej. Ingatlah untuk menggantikan /var/www/example.com
dengan akar dokumen sebenar anda.
Contoh 3: memampatkan fail dalam direktori tertentu:
<code class="apache"><directory> AddOutputFilterByType DEFLATE text/html text/plain text/xml </directory></code>
Ingatlah untuk memulakan semula Apache selepas membuat sebarang perubahan pada fail konfigurasi anda. Berhati -hati merancang strategi pemampatan terpilih anda untuk mengoptimumkan prestasi dan mengelakkan akibat yang tidak diingini. Mampatan yang terlalu agresif kadang -kadang boleh menyebabkan kemerosotan prestasi jika overhead CPU melebihi penjimatan jalur lebar.
Atas ialah kandungan terperinci Bagaimana saya mengkonfigurasi mampatan gzip di apache menggunakan mod_deflate?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!