Nginx Üzerinde Cache-Control Yapılandırması

İnternet siteleri için cache tutma özelliği o sitenize yapılan ikinci sorgudan itibaren kullanıcının sitenizi yükleme süresini azaltacağı için daha hızlı bir şekilde verilere ulaşabilecek ve sıkılmadan sitenizde kalmaya devam edecektir. Günümüz şartlarında insanlar için en değerli şey olan zamandan çalmadığınız sürece ilgisini çeken her yerde uzun süre kalmaya meyillidir. Cache-Control ayarları ile sitenizin daha hızlı yüklenmesini ve yavaşlığından sıkılıp ziyaretçilerinizin kaçmasını engellemek için basit ufak ipuçlarını ele alacağız.

Kod örneklemelerinin tamamını Centos 7 için vereceğim. Kendi işletim sisteminize göre ufak düzenlemeler yaparak kullanabilirsiniz.

Cache-Control ne işe yarar?

Önbelleğe alma HTTP ve taramalara göre önemli bir protokoldür. İçerik önbelleğe almanın temel ilkesi, yukarı akışlı sunuculardan tekrarlanan işleri boşaltmaktır. Önbelleğe alma mekanizmaları için özel yönergeler vardır ve bu yönergelerin tarayıcıda veya özel bir önbellek sunucusunda önbelleğe alma sunucuları tarafından izlenmesi gerekir. Burada bahsettiğimiz Önbellek Cookie – Çerezler olarakta adlandırılmaktadır.

  • Önbellek politikaları tarayıcılar ve özel önbellek sunucuları tarafından belirlenir.
  • Önbellek mekanizması önbellek denetimi üst bilgisi yardımıyla çalışır.

 

Öncelikle Nginx siteniz için olan ayar dosyasını açıyoruz;

[root@myhostazor~]# cd /etc/nginx/conf.d/
[root@myhostazor conf.d]# nano nginx.conf

Yukarıda nano editörü ile dosyamı açtım. Sunucunuza veya tercihinize bağlı olarak diğer editörleri de kullanabilirsiniz.

Aşağıdaki kodları basit olarak kendinize göre düzenleyerek config dosyasına ekleyeniz.

server { server_name www.hostazor.com;
location /

{ root /usr/share/nginx/html;
index index.html index.htm; }
location ~.(jpg) {
root /usr/share/nginx/html;}
}

Yaptığınız değişiklikler ile dosyayı kaydedip editörden çıkıyoruz.  Yaptığımız ayarlardan kaynaklı olarak Nginx üzerinde syntax problemi olup olmadığını kontrol ediyoruz.

[root@linuxhelp conf.d]# nginx -t

Çıktı ise aşağıdaki gibi olmalıdır.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Syntax hatası olmadığını gördükten sonra nginx yeniden başlatabilirsiniz.

Cache-Control yapısını temel olarak eklemiş olduk. Ancak süresini ayarlarımıza eklemedik. Bu işlem için az önceki config dosyamızı editör ile açıp;

location ~.(jpg) {
root /usr/share/nginx/html;

Kısmından sonra expires kodunu ekliyoruz. Örnek olarak tüm eklediğimiz kodlar aşağıdaki gibi olacaktır.

server { server_name www.hostazor.com;
location /

{ root /usr/share/nginx/html;
index index.html index.htm; }
location ~.(jpg) {
root /usr/share/nginx/html;

expires 48h;}
}

Nginx tekrar restart ederek ayarları aktif ediyoruz.

Peki sadece .jpg için mi bu şekilde ayar yapılabilir? Hayır. Nginx tüm mime type dosyalarını desteklemektedir. Örnek olarak; ico|css|js|gif|jpeg|jpg|png|woff|ttf|otf|svg|woff2|eot hepsini tek ayar kapsamında önbellekletebilirsiniz.

Mahmut Yum

Share
Published by
Mahmut Yum

Recent Posts

SSH ile WordPress Yönetimi

SSH nedir? İlk olarak, SSH'nin ne olduğunu ve ne zaman kullanabileceğinizi belirleyerek başlayalım. SSH ile…

4 sene ago

Yenilenen Arayüzü ile Hostazor Web Site Mimarı

Günümüzde herkes bir web sitesi oluşturmak için bir çok yöntem kullanır. Bunu basitleştirmek ve herkese…

4 sene ago

Çalışmalarınızı Sergilemek için En İyi 5 WordPress Portföy Eklentisi Seçenekleri

Portföy olmadan profesyonel bir fotoğrafçı neler yapabilir? Peki ya bir sanatçı, ajans ya da serbest yazar? İçerik…

5 sene ago

WordPress Subdomain (Alt Etki Alanı) Rehberi; Verimli şekilde nasıl kullanılır?

Bir alt etki alanı, ana etki alanınızdan önce gelen etki alanı adınızın ek bir bölümüdür. Örneğin, subdomain.alanadi.com.…

5 sene ago

WordPress’de Disk Kullanımını Kontrol Etmenin Yolları

Dijital evrende “sınırsız” diye bir şey ortaya çıktı. Web hosting ürününüzün disk alanı veya bant genişliğinin sınırsız…

5 sene ago

Röportaj: CloudLinux’den Igor Seletskiy #HostazorPin

S1: Geçmişiniz nedir ve iMunify360 ekibine nasıl katıldınız? Programlamayı çok seviyorum ve her zaman Linux…

5 sene ago