Ubuntu’ya Varnish Kurulumu

By | 27 Ağustos 2013

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

8 thoughts on “Ubuntu’ya Varnish Kurulumu

  1. Metin Etikan

    Hocam anlatım için teşekkürler ben bunu magento için yapmaya çalışıyorum fakat şu 3. adımı biraz daha detaylandırırmısın ne denediysem olmadı bir türlü

    1. husey1n

      Tam olarak hata aldığınız yeri ve hatayı söylerseniz yardımcı olmaya çalışayım.

      1. Metin Etikan

        Hiç bir şey olmuyor hocam siz — sudo nano /etc/nginx/sites-available/wordpress şeklinde — açmışsınız ben dosya adı olarak
        domain adını yazıyorum dosyanın içinide sizin örneğinizde ki gibi listen 127.0.0.1:8080; yapıyorum fakat hiç bir şey olmuyor ne varnish araya giriyor nede site hata veriyor aynı şekilde devam ediyor apache2 nin altında ports.conf içinde defalut port 7080 olarak kayıtlı bundan kaynaklı bir sorun olabilirmi ports.conf taki 7080 leri 8080 olarak değiştirincede 502 bad gateway hatası veriyor site, umarım anlatabilmişimdir teşekkürler,

        1. PcCopat

          Benim Apache ile hic deneyimim olmadi ancak Apache farkli portta hata veriyorsa onu 7080de birakip Varnish’in ayarlarindan 7080 portunu dinlemesini ayarlayabilirsiniz. Ancak varnish’in aktif olmadigi kanisina nereden vardiniz?

        2. Huse.in

          Benim Apache ile hic deneyimim olmadi ancak Apache farkli portta hata veriyorsa onu 7080de birakip Varnish’in ayarlarindan 7080 portunu dinlemesini ayarlayabilirsiniz. Ancak varnish’in aktif olmadigi kanisina nereden vardiniz?

      2. Metin Etikan

        http://centralops.net/co/DomainDossier.aspx diye bir site buldum burada service scan yapılabiliyor örneklerde verilen sitelerde

        X-Varnish: 441130910 441130780

        Age: 936

        Via: 1.1 varnish
        şeklinde bir tanım çıkarken kendi domainimde çıkmıyor bu siteyi tavsiye eden yerde varnish çalışıyorsa bu ibareyi görürsünüz diye bir şey yazıyordu birde dediğiniz gibi 7080 e varnishi ayarlamayı denim teşekkürler,

  2. Atıf

    Hocam merhaba,

    Aramalarda rastladım size sanırım Varnish Cache kullanımı konusunda deneyimlisiniz. Şöyle bir sorunum var yardımcı olabilirseniz çok sevinirim.

    Bir sitede (özel kodlama) nginx+memcache+varnish kullanıyoruz. Fakat sorunumuz şu mesela panelden manşete bir içerik eklediğimizde bu içeriği varnishi restart etmeden göremiyoruz. Bunu nasıl çözebiliriz acaba. Memecache içerik değiştiğinde hemen güncelleniyor ama varnish tarafında bu sorunu aşamadık. Bu konuda öneriniz olurmu acaba. Bilgi verebilirseniz çok sevinirim. Kolay gelsin.

Comments are closed.