Varnish Cache, web sunucularının önünde çalışan bir ters proxy çözümüdür. İstediğiniz gibi yapılandırılabilen bu sistem, web sitenize gelen istekleri kontrol eder ve çoğu zaman dinamik içerikleri hızlıca cache'e alarak, sunucunuza olan yükü azaltır. Hadi, Linux'ta nasıl kurulduğunu ve nasıl ayarlandığını detaylı bir şekilde öğrenelim.
Adım 1: Varnish Cache'in Kurulumu
İlk adım olarak, Varnish Cache'in sisteminize kurulması gerekiyor. En basit yolu, Linux dağıtımınız için uygun olan paket yöneticisini kullanmaktır. Eğer Debian tabanlı bir dağıtım kullanıyorsanız, terminale şu komutu girmeniz yeterlidir:
sudo apt update
sudo apt install varnish
Bu komut, gerekli tüm dosyaları indirip kuracaktır. Kurulum tamamlandıktan sonra, Varnish’in otomatik olarak çalışmaya başlayacağını göreceksiniz.
Adım 2: Varnish'in Yapılandırılması
Varnish, yüksek esneklik sunduğu için, farklı ihtiyaçlara göre özelleştirilebilir. Yapılandırmayı, `/etc/varnish/default.vcl` dosyasında yapacağız. Bu dosya, Varnish’in nasıl çalışacağını belirleyen en önemli yapılandırma dosyasıdır.
Öncelikle, web sunucunuzun hangi portta çalıştığını belirleyin. Genellikle, Apache için port 80 ya da Nginx için 8080 kullanılır. Varnish’i, bu portları doğru bir şekilde yönlendirecek şekilde yapılandırmamız gerekecek. Eğer Apache kullanıyorsanız, default.vcl dosyasındaki `backend default` bölümünü şu şekilde güncelleyin:
backend default {
.host = "127.0.0.1";
.port = "8080"; // Apache varsayılan portu
}
Eğer Nginx kullanıyorsanız, portu 80 olarak değiştirebilirsiniz. Bu adım, Varnish’in doğru sunucuya yönlendirme yapmasını sağlar.
Adım 3: Varnish Portunun Değiştirilmesi
Varnish, varsayılan olarak 6081 portunda çalışır. Ancak, bu portu değiştirebilirsiniz. Bu işlemi yapabilmek için, `/etc/default/varnish` dosyasını düzenlemeniz gerekecek. Bu dosyada, `DAEMON_OPTS` satırını şu şekilde değiştirin:
DAEMON_OPTS="-a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret"
Buradaki `-a :80` kısmı, Varnish’in web trafiğini 80 portundan almasını sağlar.
Adım 4: Varnish'i Başlatma
Varnish’in ayarlarını yaptıktan sonra, servisi yeniden başlatmak gerekecek. Bunun için şu komutu kullanabilirsiniz:
sudo systemctl restart varnish
Bu işlem, yapılandırmaların aktif hale gelmesini sağlar.
Adım 5: Varnish'i Kontrol Etme
Varnish’in düzgün çalışıp çalışmadığını kontrol etmek için şu komutu verebilirsiniz:
varnishstat
Eğer her şey doğru şekilde yapılandırıldıysa, bu komut size Varnish’in çalışma durumu hakkında detaylı bilgiler sunacaktır.
Adım 6: Performansın Artırılması
Varnish’in asıl gücü, cache yönetiminde yatar. Dinamik içerikler hızlıca cache’e alınarak sunucuya olan yük büyük ölçüde azalır. Ancak, cache’in süresi ve ne tür içeriklerin cache’lendiği de önemli bir rol oynar.
Varnish’in cache politikasını belirlemek için `default.vcl` dosyasını kullanacağız. Bu dosya içerisinde, hangi içeriklerin cache’lendiğini ve ne kadar süreyle tutulacağını belirleyebilirsiniz.
Örnek olarak, statik dosyaların (CSS, JS, resimler) uzun süre cache’lenmesini sağlamak için şu kodu ekleyebilirsiniz:
sub vcl_recv {
if (req.url ~ "\.(css|js|jpg|jpeg|png|gif)$") {
set req.ttl = 1w; // 1 hafta süreyle cache’le
}
}
Bu kod, web sitenizdeki CSS, JavaScript ve görsel dosyalarını 1 hafta boyunca cache’leyecektir.
Adım 7: Son Rötuşlar ve Test Etme
Artık Varnish cache sisteminizin temel kurulumunu yapmış oldunuz. Şimdi web sitenizi ziyaret ederek hız artışını gözlemleyebilirsiniz. Web tarayıcınızın geliştirici araçlarını kullanarak, Varnish’in cache ile ilgili yanıtları nasıl verdiğini kontrol edebilirsiniz. Eğer doğru şekilde yapılandırılmışsa, HTTP yanıt başlıklarında `X-Cache: HIT` veya `X-Cache: MISS` gibi ifadeler görmelisiniz.
Sonuç
Varnish Cache, web performansınızı artırmak için harika bir araçtır. Linux üzerinde kurulumu oldukça kolay ve hızlı bir şekilde yapılabilir. Cache yönetimini doğru şekilde yaparak, sitenizin hızını önemli ölçüde artırabilirsiniz. Bu yazıda, Varnish Cache’in kurulumunu ve temel ayarlarını öğrenmiş oldunuz. Artık yüksek trafikli sitelerde performans sorunlarına karşı güçlü bir savunma mekanizmanız var!