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.
Bu yazıda neler var?
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.
Add Comment