Varnish adalah salah satu aplikasi cache web server atau aplikasi akselerator website yang biasa dikenal dengan a caching HTTP reverse proxy. Sebelumnya kita telah menginstall nginx sebagai web server yang akan berjalan di belakang varnish. Berikut langkah instalasi dan konfigurasi varnish.
Install Varnish 6
Install varnish terbaru versi 6 dengan cara compile dari source code.
1. Download source varnish dari situs resmi varnish
# wget https://varnish-cache.org/_downloads/varnish-6.0.2.tgz
# yum install make autoconf automake jemalloc-devel libedit-devel libtool ncurses-devel pcre-devel pkgconfig python-docutils python-sphinx
# yum install graphviz
# yum install git
# tar -zxvf varnish-6.0.2.tgz && cd varnish-6.0.2
# sh autogen.sh
# sh configure
# make
# make check
# make install
/usr/local
dan file binary varnishd
tersimpan di /usr/local/sbin
11. Karena varnish terinstall dari paket biner (binary package), maka menjalankannya dengan cara manual# varnishd -a :6081 -T localhost:6082 -b localhost:8080
Install Varnish 5
- Install pygpgme untuk handling paket gpg signatures dan yum-utils untuk menambahkan fungsi dari native yum
# yum install pygpgme yum-utils
- Buat file
varnishcache_varnish5.repo
di/etc/yum.repos.d/
untuk menampung konfigurasi repository. Isikan dengan konfigurasi berikut[varnishcache_varnish5] name=varnishcache_varnish5 baseurl=https://packagecloud.io/varnishcache/varnish5/el/7/$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/varnishcache/varnish5/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [varnishcache_varnish5-source] name=varnishcache_varnish5-source baseurl=https://packagecloud.io/varnishcache/varnish5/el/7/SRPMS repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/varnishcache/varnish5/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
- Update lokal yum cache dan install varnish cache 5
# yum -q makecache -y --disablerepo='*' --enablerepo='varnishcache_varnish5'
- Install varnish
# yum -y install varnish
- Konfirmasi varnish telah terinstall dengan sukses
# which varnishd # varnishd -V
- Konfigurasi Nginx untuk bisa bekerja dengan Varnish Cache.
- Secara default nginx listen ke port 80, ubah menjadi 8080. Edit file
/etc/nginx/nginx.conf
server { listen 8080; ... }
- Kemudian buka file konfigurasi varnish environment dan temukan parameter VARNISH_LISTEN_PORT ubah port 6081 menjadi 80 karena varnish akan berada paling depan dalam melayani request HTTP. Edit file
/etc/varnish/varnish.params
... VARNISH_LISTEN_PORT=80 ...
- Setup nginx sebagai backend server untuk varnish proxy pada file
/etc/varnish/default.vcl
- Cari bagian backend dan definiskan IP Host dan port.
backend default { .host = "127.0.0.1"; .port = "8080"; }
- Setelah konfigurasi selesai restart nginx dan jalankan varnish cache.
# systemctl restart nginx # systemctl start varnish # systemctl enable varnish # systemctl status varnish
- Lakukan pengecekan apakah varnish telah jalan menggunakan cURL
# curl -I http://localhost
- Cek log varnish
# varnishlog -q 'RespStatus == 503' -g request atau # varnishncsa
- Menguji konfigurasi varnish, jika tidak ada error maka akan mengeluarkan file konfigurasi varnish
# varnishd -Cf /etc/varnish/default.vcl
Beberapa direktori penting pada varnish
- /usr/sbin/varnishd : file utama executable
- /etc/varnish/varnish.params : file konfigurasi environment varnish
- /etc/varnish/default.vcl : file konfigurasi utama varnish (menggunakan VCL)
- /etc/varnish/secret : file rahasia varnish