Ketahui cara mempercepat laman web menggunakan modul nginx dan gzip

Ketahui cara mempercepat laman web menggunakan modul nginx dan gzip

Walaupun dalam masa kelajuan internet yang ketara tersedia di seluruh dunia, setiap usaha untuk mengoptimumkan masa beban laman web dialu -alukan dengan tangan terbuka.

Dalam artikel ini kita akan membincangkan kaedah untuk meningkatkan kelajuan pemindahan dengan mengurangkan saiz fail melalui pemampatan. Pendekatan ini membawa manfaat tambahan kerana ia juga mengurangkan jumlah jalur lebar yang digunakan dalam proses itu, dan menjadikannya lebih murah untuk pemilik laman web yang membayarnya.

Untuk mencapai matlamat yang dinyatakan dalam perenggan di atas, kami akan menggunakan Nginx dan terbina dalamnya gzip modul dalam artikel ini. Seperti yang dinyatakan oleh dokumentasi rasmi, modul ini adalah penapis yang memampatkan respons menggunakan kaedah pemampatan gzip yang terkenal. Ini memastikan saiz data yang dihantar akan dimampatkan oleh separuh atau lebih.

Cadangan Baca: Panduan Terbaik untuk Mengamankan, Mengeraskan dan Meningkatkan Prestasi Laman Web Nginx

Pada masa anda sampai ke bahagian bawah siaran ini, anda akan mempunyai alasan lain untuk dipertimbangkan menggunakan Nginx Untuk melayani laman web dan aplikasi anda.

Memasang pelayan web nginx

Nginx tersedia untuk semua pengagihan moden utama. Walaupun kami akan menggunakan a Centos 7 mesin maya (IP 192.168.0.29) untuk artikel ini.

Arahan yang diberikan di bawah akan berfungsi dengan sedikit (jika ada) pengubahsuaian dalam pengagihan lain juga. Diandaikan bahawa anda VM adalah pemasangan segar; Jika tidak, anda perlu memastikan bahawa tidak ada pelayan web lain (seperti Apache) berjalan di mesin anda.

Untuk memasang Nginx Bersama dengan kebergantungan yang diperlukan, gunakan arahan berikut:

----------- Pada Centos/RHEL 7 dan Fedora 22-24 ----------- # yum kemas kini && yum pasang nginx ----------- Mengenai pengagihan Debian dan Ubuntu ----------- # Apt Update && Apt Pasang Nginx 

Untuk mengesahkan bahawa pemasangan telah berjaya selesai dan itu Nginx boleh menyampaikan fail, memulakan pelayan web:

# Systemctl Mula nginx # Systemctl Dayakan Nginx 

dan kemudian buka penyemak imbas web dan pergi ke http: // 192.168.0.29 (Jangan lupa untuk menggantikan 192.168.0.29 dengan alamat IP atau nama hos pelayan anda). Anda mesti melihat halaman Selamat Datang:

Halaman selamat datang lalai nginx

Kita harus ingat bahawa beberapa jenis fail dapat dimampatkan lebih baik daripada yang lain. Fail teks biasa (seperti Html, CSS, dan JavaScript fail) memampatkan dengan baik sementara yang lain (.ISO fail, Tarballs, dan imej, untuk menamakan beberapa) tidak, kerana ia sudah dimampatkan secara semula jadi.

Oleh itu, diharapkan gabungan Nginx dan gzip akan membolehkan kita meningkatkan kelajuan pemindahan bekas, sementara yang terakhir mungkin menunjukkan sedikit atau tidak ada peningkatan sama sekali.

Ia juga penting untuk diingat bahawa ketika gzip modul diaktifkan, Html fail adalah Selalu dimampatkan, tetapi jenis fail lain yang biasa dijumpai di laman web dan aplikasi (iaitu, CSS dan JavaScript) tidak.

Menguji kelajuan laman web nginx tanpa modul gzip

Untuk memulakan, mari muat turun lengkap Bootstrap templat, gabungan hebat dari Html, CSS, dan JavaScript fail.

Setelah memuat turun fail termampat, kami akan unzipnya ke direktori root blok pelayan kami (ingat bahawa ini adalah Nginx bersamaan dengan Documentroot Arahan dalam Pengisytiharan Hos Maya Apache):

# cd/var/www/html # wget https: // github.com/blackrockdigital/startbootstrap-creative/archive/gh-halaman.zip # unzip -a halaman GH.zip # mv startbootstrap-creative-gh-halaman tecmint 

Anda harus mempunyai struktur direktori berikut di dalam /var/www/html/tecmint:

# ls -l/var/www/html/tecmint 
Kandungan dokumen nginx

Sekarang pergi ke http: // 192.168.0.29/Tecmint dan pastikan halaman dimuat dengan betul. Pelayar paling moden termasuk satu set alat pemaju. Dalam Firefox, anda boleh membukanya melalui Alat → Pemaju Web menu.

Kami sangat berminat dengan Rangkaian submenu, yang akan membolehkan kami memantau semua permintaan rangkaian yang berlaku di antara komputer kami dan rangkaian tempatan dan internet.

Cadangan Baca: Pasang mod_pagespeed untuk mempercepat prestasi nginx sehingga 10x

Pintasan untuk membuka Rangkaian menu di alat pemaju adalah Ctrl + shift + q. Tekan gabungan kekunci itu atau gunakan bar menu untuk membukanya.

Kerana kita berminat untuk memeriksa pemindahan Html, CSS, dan JavaScript fail, klik pada butang di bahagian bawah dan segarkan semula halaman. Di skrin utama anda akan melihat perincian pemindahan semua Html, CSS, dan JavaScript Fail:

Semak Nginx Menggunakan Mampatan

Di sebelah kanan Saiz lajur (yang menunjukkan saiz fail individu) Anda akan melihat pemasaan pemindahan individu. Anda juga boleh mengklik dua kali pada sebarang fail yang diberikan untuk melihat maklumat lanjut di Masa tab.

Pastikan anda mengambil nota masa yang ditunjukkan dalam imej di atas supaya anda dapat membandingkannya dengan pemindahan yang sama setelah kami mendayakan gzip modul.

Membolehkan dan mengkonfigurasi modul GZIP di nginx

Untuk membolehkan dan mengkonfigurasi gzip modul, terbuka /etc/nginx/nginx.Conf, Cari blok pelayan utama seperti yang ditunjukkan dalam imej di bawah, dan tambahkan atau ubah suai baris berikut (jangan lupa titik koma pada akhir atau nginx akan mengembalikan mesej ralat semasa dimulakan semula kemudian!)

root/var/www/html; gzip pada; teks gzip_types/imej biasa/jpeg imej/teks png/teks css/javascript; 
Dayakan modul gzip di nginx

The gzip Arahan bertukar pada atau mati modul gzip, sedangkan gzip_types digunakan untuk menyenaraikan semua jenis mime modul harus mengendalikan.

Untuk mengetahui lebih lanjut mengenai Mime jenis dan lihat jenis yang tersedia, pergi ke BASICS_OF_HTTP_MIME_TYPES.

Menguji kelajuan laman web nginx dengan modul mampatan gzip

Sebaik sahaja kita telah menyelesaikan langkah -langkah di atas, mari kita mulakan semula Nginx dan muat semula halaman dengan menekan Ctrl + F5 (Sekali lagi, ini berfungsi Firefox, Oleh itu, jika anda menggunakan pelayar yang berbeza berunding terlebih dahulu dokumentasi yang sepadan) untuk mengatasi cache dan mari kita perhatikan masa pemindahan:

# Systemctl mulakan semula nginx 

Tab Permintaan Rangkaian menunjukkan beberapa penambahbaikan yang ketara. Bandingkan masa untuk melihat sendiri, ingatlah bahawa pemindahan antara komputer kami dan 192.168.0.29 (Pemindahan antara pelayan Google dan CDN berada di luar genggaman kami):

Menguji dan mengesahkan mampatan gzip nginx

Sebagai contoh, mari kita pertimbangkan contoh pemindahan fail berikut sebelum / selepas membolehkan GZIP. Masa diberikan dalam milisaat:

  1. indeks.html (diwakili oleh /tecmint/ di bahagian atas senarai): 15/4
  2. Kreatif.min.CSS: 18/8
  3. jQuery.min.js: 17/7

Bukankah ini membuat anda suka Nginx lebih lagi? Sejauh yang saya bimbang, ia berlaku!

Cadangan Baca: 5 petua untuk meningkatkan prestasi pelayan web Apache anda

Ringkasan

Dalam artikel ini kami telah menunjukkan bahawa anda boleh menggunakan modul Gzip Nginx untuk mempercepat pemindahan fail. Dokumentasi rasmi untuk modul gzip menyenaraikan arahan konfigurasi lain yang mungkin anda ingin lihat.

Di samping itu, laman web Rangkaian Pemaju Mozilla mempunyai entri mengenai monitor rangkaian yang menerangkan cara menggunakan alat ini untuk memahami apa yang berlaku di belakang tabir dalam permintaan rangkaian.

Seperti biasa, jangan ragu untuk menggunakan borang komen di bawah jika anda mempunyai sebarang pertanyaan mengenai artikel ini. Kami sentiasa tidak sabar untuk mendengar daripada anda!