Dinamik sayfaların yavaşlığından kurtulmaya ne dersiniz?
İçindekiler
Varnish Nedir?
Varnish bir HTTP hızlandırıcıdır. Ziyaretçileri her ziyarette tekrar oluşturulan dinamik sayfalar yerine önbelleğine alınmış statik sayfalara yönlendirir ve sitenin hızlı bir şekilde açılmasını sağlar. Varnish’in en güzel özelliklerinden bir tanesi ise ne zaman içeriği dinamik olarak oluşturulmasını sağlayacağını bilmesidir. Bu durumda sadece gerek olduğu zaman sayfalar dinamik olarak oluşturulur.
Öngereksinimler
Varnish’i kurmaya başlamadan önce aşağıdaki adımları yaptığınızdan emin olun:
Adım 1 – Kurulum
Varnish, kurulumun kendi deposundan yapılmasını önerilmektedir. Bunun için Varnish depo adresini Ubuntu’ya ekleyelim:
sudo curl http://repo.varnish-cache.org/debian/GPG-key.txt | sudo apt-key add -
Ubuntu’nun depo kaynak dosyasını açalım
sudo nano /etc/apt/sources.list
İçine aşağıdaki satırı ekleyip kaydedelim ve kapatalım
deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0
Son olarak depoyu güncelleyelim ve kurulumu yapalım
sudo apt-get update sudo apt-get install varnish
Adım 2 – Varnish Ayarları
Bu adımda nginx ve Varnish için portları ayarlayacağız. nginx’i arka plana atıp 8080 portunu vereceğiz ve Varnish 80 portuna geçecek.
Varnish ayar dosyasını açalım
sudo nano /etc/default/varnish
Alternative 2 bölümünün altındaki port number satırının değerini “-a”dan “80”e değiştirelim. Aşağıdaki gibi olması gerek:
DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m"
Burada yapmamız gereken tek değişiklik buydu. Kaydedip kapatalım ve default.vcl dosyasını açalım.
sudo nano /etc/varnish/default.vcl
Aşağıdaki satırı bulun ve portun 8080 olduğundan emin olun. Bu port nginx’in portunu belirtiyor.
backend default { .host = "127.0.0.1"; .port = "8080"; }
Adım 3 – nginx Ayarları
Şu anda 80 portunu dinleyen iki adet sunucu var. Nginx’i 8080’e atamak için ayar dosyasını açıp portu değiştirelim.
sudo nano /etc/nginx/sites-available/wordpress
Aşağıdaki satırdan portu ayarlayabilirsiniz.
[...] server { listen 127.0.0.1:8080; ## listen for ipv4; this line is default and implied [...]
Kaydedip kapatalım.
Adım 4 – Yeniden Başlatma
Nginx ve Varnish’i tekrar başlatalım. Değişiklikler geçerli olacaktır.
sudo service nginx restart sudo service varnish restart