Bu eğitim, Nginx’te GZIP sıkıştırma kullanarak dosya boyutlarını azaltarak web sitenizin performansını nasıl optimize edeceğiniz ve hızlı hale getireceğiniz konusunda size rehberlik eder.
Bu makale Nginx hakkında öğreticilerimizin devamıdır. Şimdiye kadar Nginx’i yük dengeleyici olarak nasıl kullanacağımızı, Nginx’in ters proxy olarak nasıl kullanılacağını ele aldık. Ve şimdi bu öğretici başka bir zorlu soruyu “Nginx’te GZIP Sıkıştırma Kullanarak Web Sitenizi Nasıl Optimize edeceğiniz” sorusunu kapsıyor. Bu öğreticide, Nginx’te GZIP sıkıştırmasını nasıl etkinleştireceğiniz konusunda size adım adım rehberlik edeceğiz. Öyleyse başlayalım!
- Sıkıştırma ile web sitesi optimizasyonu
- GZIP Sıkıştırma Nedir?
- GZIP sıkıştırma nasıl çalışır?
- Nginx’te GZIP sıkıştırmasını etkinleştir
- GZIP sıkıştırmasını doğrulayın
- Sonuç
Sıkıştırma ile web sitesi optimizasyonu
Bir web sitesinin performansı bir dizi faktöre bağlıdır. Kısmen bağlı olduğu faktörlerden biri, bir kullanıcının tarayıcının sunucunuzdan indirmesi gereken tüm dosyaların boyutudur. Aktarılan bu dosyaların boyutunu azaltmak veya sıkıştırma, web sitenizin kullanıcı için daha hızlı yüklenmesini sağlayabilir. Ayrıca, ölçülü bağlantılarda bant genişliği kullanımı için ödeme yapmanız durumunda web siteniz için faturayı azaltabilir. Böylece sıkıştırma, web sitesi optimizasyonunuzda çok hayati bir rol oynayabilir. Google ve diğer arama motorları bir web sitesinin kullanıcı deneyimini (UX) sıralama algoritmalarında kritik bir faktör olarak görüyorlar. En iyi derecelendirmeler için web sitenizi geliştirmek ve optimize etmek daha önemli hale geldi. Dikkat edilmesi gereken en önemli faktörler arasında sayfa hızı ve yükleme süreleri. Ve web sitenizi hız ve performansınızı iyileştirmenin en hızlı ve en kolay yolu, web sitenizde GZIP sıkıştırmasını etkinleştirmektir.
GZIP sıkıştırma nedir?
GZIP, dosya sıkıştırma ve dekompresyon için kullanılan bir dosya biçimi ve yazılım uygulaması ‘dır. Web sunucuları veya diğer yazılımlar, kullanıcıların tarayıcılarına gönderilmeden önce veri dosyalarını sıkıştırmak için GZIP Sıkıştırma kullanır. Bu, web sitenizi daha hızlı hale getiren dosya indirme süresini azaltır. Tüm modern tarayıcılar GZIP sıkıştırmasını destekler. Dosya ve klasör sıkıştırmasını etkinleştirebilmeniz için Web sunucunuzda GZIP sıkıştırmanın etkinleştirilmesi gerektiğini de belirtmek önemlidir. Kısacası, Nginx’te GZIP sıkıştırmasını nasıl etkinleştireceğinizi göreceğiz.
GZIP sıkıştırma nasıl çalışır?
En popüler sıkıştırma yöntemi olan GZIP, Web sunucuları ve tarayıcılar tarafından içeriği internet üzerinden iletilirken sıkıştırmak ve doldurmak için kullanılır. Çoğunlukla kod ve metin dosyalarında kullanılır, GZIP JavaScript, CSS ve HTML dosyalarının boyutunu%90’a kadar azaltabilir. Varsayılan olarak, GZIP Sıkıştırma görüntüleri veya videoları sıkıştırmaz. Bu nedenle Google Pagespeed Insights gibi web sitesi hız test araçlarının çoğu GZIP sıkıştırmasını sağlamayı şiddetle tavsiye eder. Bir web sunucusu bir web sayfası için bir istek aldığında, web sunucusu tarayıcının GZIP’yi destekleyip desteklemediğini kontrol etmek için isteğin başlığını kontrol eder. Öyleyse, GZIP uygulamadan önce sunucu sayfa için işaretlemeyi oluşturur. GZIP, HTML işaretlemesini daha sonra son kullanıcıya teslim edilen sıkıştırılmış bir veriye dönüştürür. Son kullanıcı sıkıştırılmış verileri aldığında, tarayıcıları onu açar.
Nginx’te GZIP sıkıştırmasını etkinleştirin
NGINX GZIP yapılandırmasını değiştirmek için, ana Nginx yapılandırma dosyasını “vi” veya en sevdiğiniz metin düzenleyicinizle açın:
sudo vi /etc/nginx/nginx.conf
Şuna benzeyen gzip ayarları bölümünü bulun:
. . .
##
# `gzip` Settings
#
#
gzip on;
gzip_disable "msie6";
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
. . .
Gördüğünüz gibi GZIP varsayılan olarak _gzip açık; _, ancak başka yorumlanan GZIP ayarları vardır. Sıkıştırmayı istediğiniz dosya türlerinde sıkıştırmayı etkinleştirmek için gzip_types ayarını etkinleştirebiliriz. Örneğin
. . .
##
# `gzip` Settings
#
#
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types
application/atom+xml
application/geo+json
application/javascript
application/x-javascript
application/json
application/ld+json
application/manifest+json
application/rdf+xml
application/rss+xml
application/xhtml+xml
application/xml
font/eot
font/otf
font/ttf
image/svg+xml
text/css
text/javascript
text/plain
text/xml;
. . .
Yeni ayarları yürürlüğe koymak için şimdi Nginx’i yeniden başlatın.
GZIP sıkıştırmasını doğrulayın
Artık GZIP sıkıştırmasını etkinleştirdiğimize göre, doğrulayalım.
curl -H "Accept-Encoding: gzip" -I http://localhost/test.html
Bu filetype için sıkıştırma zaten etkinleştirildiğinden yanıt aynı kalacaktır:
Output
HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Mon, 08 Feb 2021 11:03:41 GMT
Content-Type: text/html
Last-Modified: Mon, 08 Feb 2021 11:03:41 GMT
Connection: keep-alive
ETag: W/"6222dc8d-500"
<strong>Content-Encoding: gzip</strong>
Çözüm
Bu makalede, dosya transferlerini hızlandırmak için NGINX GZIP modülünü kullanabileceğinizi öğrendik. GZIP modülünü kullanarak Nginx’te GZIP sıkıştırmasını nasıl etkinleştireceğinizi adım adım gösterdik. GZIP modülü için resmi belgeler, bir göz atmak isteyebileceğiniz diğer yapılandırma yönergelerini listeler. Umarım bu öğretici web sitenizin performansını ve hızını optimize etmenize yardımcı olur.