Centos 7 üzerine Varnish Kurulumu

AI Icon Bu İçeriği Yapay Zekâ (AI) ile Özetleyin:

Web sitelerinde, hem ziyaretçiler hem de arama motorları açısından hız en önemli faktörlerden birisi. Web sitemiz yavaş açılıyorsa arama motorları üzerinde üst sıralarda çıkamama durumu oluşurken, ziyaretçi kaybına da uğrayabiliriz. Bu gibi durumlarda cache sistemleri de web sitesini hızlandırmak için önemli bir rol üstleniyor.

Varnish Nedir?

Varnish, HTTP için ön bellekleme (cache) yapabilen bir proxy sunucusudur. Bir HTTP hızlandırıcı olarak tasarlanmıştır ve Apache veya Ngixn ile reverse proxy (ters proxy) olarak çalışabilir.

Varnish Kullanan Web Siteleri

Günümüz internet dünyasında, Varnish kullanan popüler web siteleri şunlardır;

  • Wikipedia
  • Newyork Times
  • The Guardian
  • SoundCloud
  • OpenDNS
  • DynDNS
  • Slideshare
  • Economist.com
  • Weather.com

gibi popüler web siteleri üzerinde kullanıldığı gibi, irili ufaklı bir çok web sitesinde de kullanılmaktadır.

Bu yazıda, Varnish’in Apache web sunucusu ile beraber ters proxy kullanarak kurulumunu ve yapılandırılmasını sağlayacağız. Apache’yi 8080 portu üzerinde çalıştırıp, Varnish’i 80 portu üzerinden ters proxy olarak çalıştıracağız. Yazımızda Apache ve Varnish Centos 7 üzerine kurulacaktır. Bu yazıdaki işlemleri uygulamak için Centos 7 işletim sistemi ve root kullanıcısına veya root kullanıcı haklarına sahip kullanıcı hesabına gereksinimiz bulunmaktadır.

Centos 7 üzerine Apache Kurulumu

Öncelikle Centos 7 sistemimizin güncellemesini yapalım.

yum -y update

Daha sonra Apache web sunucusunu kuralım;

yum -y install httpd

Apache servisini başlatıp, başlangıçta çalışmasını sağlayalım;

systemctl start httpd
systemctl enable httpd

Apache kurulumu tamamlandı, şimdi Apache’yi 8080 portu üzerinde çalıştırmak için Apache’nin conf dosyasını açalım.

nano /etc/httpd/conf/httpd.conf

Listen 80 ibaresini bulalım ve alttaki gibi değiştirelim;

Listen 8080

Ctrl+x ile dosyayı kaydedip çıkalım.

Apache servisini yeniden başlatalım;

systemctl restart httpd

8080 portu üzerinden çalıştığını test etmek için aşağıdaki komutu girebilirsiniz.

netstat -plntu | grep 8080

Herhangi bir problem yoksa, Varnish kurulumuna geçebiliriz.

Eğer sisteminizde netstat kurulu değilse ve netstat için “command not found” hatası alırsanız, aşağıdaki komut ile netstat’ı kurabilirsiniz;

yum install net-tools

Varnish Kurulumu

Varnish en popüler Centos reposu olan, Epel reposunda mevcut, o yüzden ilk etapta Epel reposunu yüklememiz gerekiyor. Eğer yüklü değilse, aşağıdaki şekilde yükleyelim;

yum -y install epel-release

Epel reposu yüklendikten sonra Varnish kurulum işlemini yapabiliriz.

yum -y install varnish

Varnish servisini başlatıp, Apache servisinde olduğu gibi, sistem başlatıldığında çalışmasını sağlayalım;

systemctl start varnish
systemctl enable varnish

Varnish, varsayılan olarak 6081 ve 6082 portlarını kullanır. Netstat komutu ile çalıştığını teyit edelim;

netstat -plntu | grep 6081
netstat -plntu | grep 6082

Eğer portları dinlemede herhangi bir problem bulunmuyorsa, Varnish yapılandırma işlemini geçebiliriz.

Varnish reverse proxy olarak yapılandırma

Varnish’i yükledik. Apache web sunucusu için Varnish’i ters proxy olarak yapılandırıp, 80 portu üzerinden çalışmasını sağlayacağız.

nano /etc/varnish/default.vcl

Aşağıdaki satırları ekleyelim; (Eğer ekliyse herhangi bir işlem yapmanıza gerek yok)

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

Varnish.params dosyasını açalım ve port ayarını yapılandıralım;

nano varnish.params

Dosyadaki “VARNISH_LISTEN_PORT=6081” satırını 80 olarak değiştirelim;

VARNISH_LISTEN_PORT=80

Dosyayı kaydedip çıkalım ve Varnish servisini yeniden başlatalım;

systemctl restart varnish

Varnish HTTP hızlandırıcısını yükledik ve ters proxy olarak çalışmasını sağladık.

Sıkça Sorulan Sorular (SSS)

Varnish neden kullanılır?
Web sitelerinin hızını artırmak, sunucu üzerindeki yükü azaltmak ve ziyaretçilere daha hızlı sayfa sunmak için tercih edilir. Aynı zamanda arama motoru sıralamalarına da olumlu katkı sağlar.

Varnish hangi portları kullanır?
Varsayılan olarak 6081 ve 6082 portlarını dinler. Reverse proxy olarak yapılandırıldığında 80 numaralı port üzerinden çalışır.

Varnish Apache ile nasıl birlikte çalışır?
Apache genellikle 8080 portuna alınır, Varnish ise 80 portu üzerinden gelen istekleri karşılar ve cache mantığı ile Apache’ye yönlendirir. Böylece ziyaretçiler cache’den daha hızlı yanıt alır.

Varnish’in performansa etkisi nedir?
Statik içeriklerin (HTML, CSS, JS, görseller) önbellekten sunulması sayesinde yanıt süreleri ciddi oranda düşer ve yüksek trafik altında bile sistem daha stabil çalışır.

Varnish tüm web sitelerinde kullanılabilir mi?
HTTP protokolü kullanan tüm sitelerde kullanılabilir. Ancak dinamik içeriklerin (örneğin sürekli güncellenen e-ticaret sepetleri) doğru yapılandırılmaması durumunda cache sorunları yaşanabilir.

Varnish ile HTTPS çalışır mı?
Varnish doğrudan HTTPS desteği vermez. Genellikle HTTPS trafiği için Nginx veya Apache önde çalıştırılır, ardından trafik Varnish’e yönlendirilir.

Varnish logları nasıl görüntülenir?
varnishlog komutu ile ayrıntılı log bilgileri takip edilebilir. Ayrıca varnishstat komutu ile performans istatistikleri izlenebilir.

Varnish cache temizleme (purge) işlemi nasıl yapılır?
Varnish, belirli URL’ler veya tüm cache belleği için purge işlemini destekler. Bu işlem genellikle özel bir VCL kuralı veya varnishadm komutu ile yapılır.

Önceki Makale

Wordpress "Too Many Redirects" Hatası

Sonraki Makale

Centos 8 Redis Server Kurulumu

Yorum Yaz

Yorum Bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İndeks