Cara Install dan Konfigurasi Varnish Dengan Nginx di Server Ubuntu

Bukan merk cat, bukan pula nama minyak untuk melukis. Varnish yang saya maksud disini adalah sebuah software open source HTTP accelerator atau biasa juga dikenal dengan HTTP reverse proxy yang dirancang khusus untuk meningkatkan kinerja (kecepatan) akses terhadap website dinamis. Berbeda dengan akselerator lainnya yang biasanya mendukung banyak protokol jaringan seperti FTP, HTTP, SMTP dan sebagainya, varnish ini hanya difokuskan untuk mendukung protokol HTTP saja.

Cara kerja varnish adalah dengan cara menyalin (merekam) dan menyimpan salinan (rekaman) dari halaman yang pertama kali dikunjungi oleh penggunjung dan jika suatu saat nanti pengunjung tersebut mengakses halaman itu lagi, maka varnish akan memberikan salinannya, bukan memintanya lagi kepada server web. Dengan cara seperti itu, tentu saja akses terhadap halaman tersebut akan menjadi lebih efektif dan efisien.cara install varnish cache, cara menggunakan varnish cache, varnish cache dengan nginx, varnish with nginx web server, install varnish cacahe di vps, varnish cache ubuntu

Dengan bantuan varnish, selain website anda dapat diakses lebih cepat, anda juga dapat mengurangi beban kerja server anda, terutama penggunaan CPU.

Untuk dapat menjalankan varnish, anda membutuhkan web server seperti apache atau nginx yang nantinya akan digunakan sebagai backend server. Backed server ini bertugas menyediakan konten ke varnish untuk dilakukan penyalinan yang selanjutnya konten hasil salinan tersebut akan disimpan dan dapat diakses oleh user (pengunjung) jika diminta.

Varnish dapat anda install di Linux Ubuntu, Debian, FreeBSD maupun RedHat. Namun karena saya sedang mengguanakn VPS Ubuntu 14.04 dengan web server nginx plus CMS WordPress, maka saya akan coba mendemonstrasikannya untuk anda khusus bagi yang menggunakan Ubuntu saja.

Harap anda perhatikan hal-hal berikut sebelum anda install varnish dan konfigurasi varnish di VPS Ubuntu anda :

  • Pastikan anda menggunakan Linux Ubuntu yang direkomendasikan. Versi yang direkomendasikan adalah Ubuntu LTS. Untuk versi lain, silahkan anda coba sendiri.
  • Pastikan pula anda menggunakan web server nginx. Lihat artikel cara install LEMP di Ubuntu untuk menginstall paket Nginx, MySQL dan PHP.
  • Saya mempraktekan ini dengan CMS WordPress, jika anda ingin menggunakan varnish untuk situs wordpress anda, pastikan anda sudah menginstall wordpress di VPS anda. Silahkan baca artikel cara install wordpress dengan nginx di ubuntu server.

Berikut ini adalah cara install serta konfigurasi varnish dengan web server nginx pada Ubuntu server :

  • Install transport https dengan command :
    apt-get install apt-transport-https
  • Ambil PGP PUBLIC KEY BLOCK dengan curl :
    curl https://repo.varnish-cache.org/GPG-key.txt | apt-key add -

    Jika belum install curl, silahkan anda install terlebih dahulu dengan command :

    apt-get install curl
  • Masukkan command berikut :
    echo "deb https://repo.varnish-cache.org/ubuntu/ trusty varnish-4.0" >> /etc/apt/sources.list.d/varnish-cache.list

    Ganti trusty dengan precise apabila anda menggunakan ubuntu 12.04 LTS.

  • Update dan install varnish dengan perintah :
    apt-get update
    apt-get install varnish
  • Anda sudah berhasill menginstall varnish versi 4.0 di VPS ubuntu anda. Selanjutnya anda tinggal mengatur konfigurasi varnish beserta backend yang ingin anda gunakan. Untuk langkah pertama, silahkan anda ganti port varnish supaya bisa berjalan di port 80. Buka file /etc/default/varnish dengan editor andalan anda. Disini saya menggunakan nano editor.
    nano /etc/default/varnish

    Perhatikan pada baris-baris dibawah Alternative 2, Configuration with VCL. Fokuskan pada baris :

    DAEMON_OPTS="-a :6081 \

    Silahkan anda rubah 6081 dengan 80. Untuk bagian ‘malloc 256m’ bisa anda biarkan saja atau silahkan sesuaikan dengan besaran RAM pada VPS atau Dedicated Server anda. 256m berarti anda hanya mengalokasikan 256MB untuk digunakan varnish. Karena saya hanya mempunyai RAM 512MB, jadi saya biarkan saja seperti itu. Lalu save sebelum exit. CTRL+X, Y.varnish http proxy, varnish web accelerator, varnish frontend, varnish backend

  • Anda juga harus menentukan backend server dan lain-lain untuk memberitahu varnish dimana mereka dapat menemukan web server yang ingin anda gunakan. Dalam hal ini web server yang akan digunakan adalah nginx dengan port 8080 (port nginx akan diatur dilangkah berikutnya).
    Silahkan buka file /etc/varnish/default.vcl dengan editor seperti biasa :

    nano /etc/varnish/default.vcl

    Pastikan anda menemukan baris :

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

    Jika tidak menemukannya, silahkan anda edit. Karena saya menggunakan wordpress, maka saya tambahkan baris-baris berikut dibawahnya :

    sub vcl_recv {
    # Allow posts preview
                if (req.url ~ "preview=true") {
                      return(pass);
                }
    # Drop cookies sent to WordPress
                if (!(req.url ~ "wp-(login|admin)")) {
                     unset req.http.cookie;
                }
    }
    sub vcl_fetch {
    # Drop cookies sent to client
                if (!(req.url ~ "wp-(login|admin)")) {
                     unset beresp.http.set-cookie;
               }
    }
    

    cara konfigurasi varnish di vps, cara mngatur setting varnish di ubuntu, membuat varnish http proxySimpan dengan CTRL+X, Y.

  • Saatnya mengatur konfigurasi virtual hosts (server blocks) nginx supaya berjalan pada port 8080. Buka file konfigurasi virtual hosts anda :
    nano /etc/nginx/sites-available/domain.com

    Ganti domain.com dengan nama file konfigurasi nginx virtual hosts anda. Pada bagian listen anda ganti portnya (angka) menjadi :

    127.0.0.1:8080";

    Tambahkan pula baris berikut pada file konfigurasi virtual host anda :

    port_in_redirect off;

    Baris tersebut berfungsi untuk menonaktifkan redirect port 8080. Jika anda tidak menambahkan baris tersebut biasanya nanti setiap anda mengakses situs anda, maka anda akan dibawa langsung ke port 8080. Anda tidak akan bisa mengakses situs tersebut karena anda sudah mengatur port 8080 sebagai backend varnish dengan nginx agar dapat terhubung satu sama lain.setting varnish di wordpress, varnish dengan wordpress, menjalankan varnish dan wordpress
    Terakhir, jangan lupa simpan konfigurasinya dengan CTRL+X, Y.

  • Anda dapat menghapus konfigurasi nginx virtual hosts default dengan command :
    rm /etc/nginx/sites-enabled/default
  • Test konfigurasi nginx yang anda buat, apakah sudah benar atau belum dengan mengetik perintah :
    nginx -t
  • Restart nginx dan varnish melalui perintah :
    service nginx restart
    service varnish restart

Saatnya anda test sendiri apakah varnish beserta nginx sudah berhasil bekerjasama atau belum. Saya biasa mengeceknya melalui situs centralops.net.

varnish terbaru, varnish versi 3, varnish 4

Klik GO dan scroll kebagian bawah sampai anda menemuka bagian service scan HTTP – 80 :

cara cek varnish, mengetahui varnish aktif, test varnish

Anda juga dapat mengetahui dan memonitor kinerja varnish melalui command :

varnishstat

 varnish dengan nginx, varnish dan nginx, menghubungkan varnish beserta nginx

Leave a Reply

Your email address will not be published. Required fields are marked *