NGİNX ÜZERİNDE CACHE YAPILANDIRMASI

İ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 İŞ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@mysite~]# cd /etc/nginx/conf.d/
[root@mysite.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.site.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.site.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.

Hızlı Yanıt Ver