Varnish Cache Nedir?
Varnish Cache, web sunucusu öncesi bir ters proxy (reverse proxy) olarak çalışan bir yazılımdır. Temel görevi, gelen HTTP isteklerini alıp, bu istekleri daha hızlı bir şekilde karşılamak için içerikleri önbelleğe almaktır. Bu sayede, sunucunuzda gereksiz yükten kurtulup, hız ve performans kazancı sağlarsınız.
Öncelikle, Varnish’i Linux sistemimize kurmalıyız. Linux’un farklı dağıtımları için kurulum adımları biraz değişebilir, fakat genel süreç aynıdır.
1. Adım: Varnish Cache Kurulumu
Linux üzerinde Varnish kurmak oldukça basittir. Eğer Ubuntu veya Debian tabanlı bir dağıtım kullanıyorsanız, terminalde aşağıdaki komutları kullanarak Varnish’i kolayca kurabilirsiniz.
sudo apt-get update
sudo apt-get install varnish
Eğer CentOS veya RHEL gibi bir dağıtım kullanıyorsanız, kurulum için şu komutu kullanmanız yeterli olacaktır:
sudo yum install varnish
Kurulum tamamlandığında, Varnish servisiniz otomatik olarak başlar. Artık Varnish Cache kullanmaya başlayabilirsiniz.
2. Adım: Varnish Konfigürasyonu
Varnish’i kurduktan sonra, ona nasıl davranması gerektiğini anlatmamız gerekiyor. Bunun için konfigürasyon dosyasını düzenlemeliyiz. Varnish’in ana yapılandırma dosyası `/etc/varnish/default.vcl` dosyasındadır. Bu dosyada, Varnish’in hangi port üzerinden dinleyeceği ve nasıl işlem yapacağı gibi ayarları yapabilirsiniz.
Varnish varsayılan olarak 6081 portunu kullanır. Ancak, bu portu değiştirmek isterseniz, şu adımları izleyin:
- `/etc/systemd/system/varnish.service` dosyasını açın ve `ExecStart` satırını şu şekilde düzenleyin:
ExecStart=/usr/sbin/varnishd -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -s malloc,256m
Bu ayarda, Varnish’in HTTP isteklerini 80 numaralı port üzerinden almasını sağlıyoruz.
3. Adım: Varnish ve Web Sunucusu Entegrasyonu
Varnish’in tam potansiyelini kullanabilmesi için bir web sunucusu ile entegrasyon yapmamız gerekir. Apache veya Nginx gibi yaygın web sunucuları ile çalışabilir. Bu durumda, Varnish, gelen istekleri alacak ve onları web sunucusuna yönlendirecektir.
Eğer Nginx kullanıyorsanız, Nginx’in 8080 portunda dinlemesini sağlayarak, Varnish’in önünde çalışmasını sağlayabilirsiniz. Varnish, gelen istekleri 80 portu üzerinden alır ve Nginx’e 8080 portu üzerinden yönlendirir.
Nginx’in konfigürasyon dosyasına aşağıdaki satırı ekleyin:
server {
listen 8080;
server_name yourdomain.com;
root /var/www/html;
# Diğer Nginx yapılandırmalarınız
}
Bu sayede Varnish, Nginx’in önünde bir önbellek katmanı olarak çalışacak ve web sitenizin hızını artıracaktır.
4. Adım: Varnish Cache İleri Düzey Ayarları
Varnish’in performansını daha da artırmak için bazı ileri düzey ayarlar yapabilirsiniz. Örneğin, belirli içerikleri daha uzun süre önbelleğe alabilir veya belirli dosya türlerini önbelleğe almamayı tercih edebilirsiniz.
`default.vcl` dosyasını düzenleyerek, bu tür özelleştirmeler yapabilirsiniz. Örneğin, statik dosyaların (resimler, CSS, JavaScript) daha uzun süre önbellekte kalmasını sağlamak için şu şekilde bir kural ekleyebilirsiniz:
sub vcl_backend_response {
if (bereq.url ~ "\.(jpg|jpeg|png|css|js)$") {
set beresp.ttl = 1w; # 1 hafta boyunca önbellek
}
}
Bu ayar, belirttiğiniz dosya türlerinin 1 hafta boyunca önbelleğe alınmasını sağlayacaktır.
5. Adım: Varnish Performans İzleme
Varnish’i etkin bir şekilde kullanabilmek için performansını izlemeniz önemlidir. Bunun için `varnishstat` komutunu kullanarak Varnish’in çalışma durumunu gözlemleyebilirsiniz. Bu komut, Varnish’in çeşitli metriklerini göstererek, önbellek hit oranı, yanıt süreleri gibi bilgileri sağlar.
sudo varnishstat
Bu sayede, Varnish’in ne kadar etkili çalıştığını görebilir ve gerekli optimizasyonları yapabilirsiniz.
Sonuç
Varnish Cache, doğru yapılandırıldığında web sitenizin hızını önemli ölçüde artırabilir. Linux üzerinde Varnish kurmak ve ayarlarını yapmak oldukça basit, ancak performansı en üst seviyeye çıkarmak için doğru ayarları yapmanız gerekir. Statik içerikleri önbelleğe almak, dinamik içerikleri optimize etmek ve web sunucusu ile entegrasyonu doğru şekilde yapmak, sitenizin hızını ve kullanıcı deneyimini iyileştirecektir.
Varnish, yalnızca bir önbellekleme aracı değil, aynı zamanda güçlü bir performans artırıcıdır. Doğru ayarlamalarla, web sitenizin hızını katlayarak artırabilir ve kullanıcılarınızın web sitenize karşı olan memnuniyetini pekiştirebilirsiniz.