Linux

Centos 7 üzerine Varnish Kurulumu

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.


Varnish’i temel olarak yükledik ve ters proxy olarak çalışmasını sağladık fakat, Varnish’in yetenekleri çok daha fazla. Daha sonraki yazılarımızda, detaylı yapılandırma işlemlerini yazacağız.

Etiketler