Varnish Cache adalah akselerator aplikasi web gratis, sumber terbuka, dan kuat yang dirancang untuk situs web dinamis dengan beban tinggi. Varnish Cache berada di belakang server web dan dapat mempercepat situs web Anda dengan faktor antara sekitar 300 dan 1000 kali. Ini juga dapat digunakan sebagai penyeimbang beban jika Anda menjalankan beberapa server. Varnish Cache bekerja dengan men-cache halaman web yang diminta dalam memori dan menyajikan halaman yang diminta tanpa penundaan untuk membangun konten dari awal ketika informasi yang sama diminta beberapa kali.
Dalam tutorial ini, kami akan menunjukkan cara mengatur Varnish Cache sebagai server proxy untuk Nginx di Ubuntu 18.04 VPS.
Prasyarat
- VPS Ubuntu 18.04 baru di Platform Cloud Atlantic.Net.
- Kata sandi root disiapkan di server Anda.
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 18.04 sebagai sistem operasi dengan setidaknya 2GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server Ubuntu 18.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
apt-get update -y
Langkah 2 – Instal Cache Pernis
apt-get install varnish -y
Setelah instalasi berhasil, layanan cache Varnish telah dimulai secara otomatis. Anda dapat memeriksa status layanan Varnish dengan perintah berikut:
systemctl status varnish
Anda akan mendapatkan output berikut:
Anda juga dapat memverifikasi versi Varnish yang diinstal dengan perintah berikut:
varnishd -V
Anda akan melihat output berikut:
netstat -ant
Anda akan melihat output berikut:
Langkah 3 – Instal dan Konfigurasi Nginx
Di bagian ini, kita akan menginstal dan mengkonfigurasi Nginx untuk berada di belakang server cache Varnish. Secara default, Nginx berjalan pada port 80, jadi Anda perlu mengonfigurasi Nginx untuk mendengarkan pada port 8088.
Pertama, instal server web Nginx dengan perintah berikut:
apt-get install nginx -y
Setelah menginstal server web Nginx, edit file konfigurasi virtual host default Nginx:
nano /etc/nginx/sites-available/default
Ubah port default dari 80 menjadi 8088, seperti yang ditunjukkan di bawah ini:
server { listen 8088 default_server; listen [::]:8088 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
Catatan:Pastikan Anda telah menghapus atau mengomentari semua entri default dalam file, pastikan hanya konten di atas yang disimpan. Kegagalan untuk melakukan ini akan mengakibatkan layanan nginx menolak untuk memulai
Simpan dan tutup file setelah Anda selesai. Kemudian, restart layanan Nginx untuk menerapkan konfigurasi:
systemctl restart nginx
Langkah 4 – Konfigurasi Cache Pernis
Selanjutnya, Anda perlu mengonfigurasi Varnish untuk menggunakan port 80 sehingga dapat merutekan lalu lintas ke server web Nginx melalui server cache Varnish.
Anda dapat melakukannya dengan mengedit file /lib/systemd/system/varnish.service:
nano /lib/systemd/system/varnish.service
Ubah port default Varnish dari 6081 menjadi 80 seperti yang ditunjukkan di bawah ini:
[Unit] Description=Varnish HTTP accelerator Documentation=https://www.varnish-cache.org/docs/4.1/ man:varnishd [Service] Type=simple LimitNOFILE=131072 LimitMEMLOCK=82000 ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m ExecReload=/usr/share/varnish/varnishreload ProtectSystem=full ProtectHome=true PrivateTmp=true PrivateDevices=true [Install] WantedBy=multi-user.target
Simpan dan tutup file setelah Anda selesai. Kemudian, muat ulang daemon systemd dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, Anda perlu mengonfigurasi Nginx sebagai server backend untuk Varnish. Anda dapat melakukannya dengan mengedit file /etc/varnish/default.vcl:
nano /etc/varnish/default.vcl
Ubah port dari 8080 menjadi 8088, seperti gambar di bawah ini:
backend default { .host = "127.0.0.1"; .port = "8088"; }
Simpan dan tutup file setelah Anda selesai.
Catatan :Ganti 127.0.0.1 dengan alamat IP server Nginx Anda jika server web Nginx Anda diinstal pada host lain.
Terakhir, restart server cache Varnish dengan perintah berikut:
systemctl restart varnish
Langkah 5 – Verifikasi Server Cache Pernis
Pada titik ini, cache Varnish dikonfigurasi untuk bekerja dengan server web Nginx. Saatnya untuk mengujinya.
Anda dapat memeriksa cache Varnish dengan perintah curl seperti yang ditunjukkan di bawah ini:
curl -I your-server-ip
Anda akan mendapatkan output berikut:
HTTP/1.1 200 OK Server: nginx/1.14.0 (Ubuntu) Date: Sun, 01 Dec 2019 06:46:18 GMT Content-Type: text/html Last-Modified: Sun, 01 Dec 2019 06:41:28 GMT ETag: W/"5de36098-264" Vary: Accept-Encoding X-Varnish: 32770 3 Age: 17 Via: 1.1 varnish (Varnish/5.2) Accept-Ranges: bytes Connection: keep-alive
Output di atas dengan jelas menunjukkan bahwa Anda menggunakan server Nginx dengan Varnish Cache.
Anda juga dapat memverifikasi statistik caching Varnish dengan perintah berikut:
varnishstat
Anda akan melihat layar berikut:
Anda juga dapat melihat peringkat entri log Varnish dengan perintah berikut:
varnishtop
Keluaran:
Jika Anda memiliki masalah dengan cache Varnish, Anda dapat memeriksa log Varnish dengan perintah berikut:
tail -f varnishncsa.log
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi server Varnish Cache dengan Nginx di Ubuntu 18.04 VPS. Anda dapat merujuk ke dokumentasi Varnish untuk mengoptimalkan konfigurasi sesuai kebutuhan Anda.