Cara Install Varnish dengan SSL pada Nginx Ubuntu 18.04

Postingan kali ini blog heyapakabar.com akan membagikan tutorial Cara Install Varnish untuk mendukung HTTPS.

Mengkonfigurasi Varnish dengan memanfaatkan Nginx untuk menangani permintaan SSL yang masuk.

Dalam tutorial ini, kita akan membahas cara menggunakan Varnish Cache 4.0 untuk meningkatkan kinerja server web Anda.

Varnish Cache adalah proxy reverse caching HTTP, atau akselerator HTTP, yang mengurangi waktu yang diperlukan untuk menyajikan konten kepada pengguna. 

Cara Install Varnish dengan SSL pada Nginx Ubuntu
Cara Install Varnish dengan SSL pada Nginx Ubuntu

Sebelumnya pastikan Anda sudah memiliki VPS Server, jika belum memilikinya Anda bisa menggunakan VPS dari UpCloud.

Spesifikasi server yang digunakan:

  • Sistem Operasi Ubuntu 18.04
  • RAM 1 GB
  • Disk Space 25 (pilihan)
  • Lokasi Server Singapura

Pertama-tama Anda harus sudang menginstall WordPress dengan LEMP terlebih dahulu. Jika belum menginstallnya atau masih mau memulainya bisa ikut tutorial ini.

Install WordPress LEMP pada Server Ubuntu

Jika semua sudah terinstall dengan benar, selanjutnya Anda install Varnish dengan mengikuti tutorial di bawah ini.

Install Varnish

Jalankan perintah dibawah ini untuk melakukan install Varnish

Sebelumnya lakukan pembaharuan pada repositori terlebih dahulu.

sudo apt-get update

Selanjutnya lakukan proses install varnish

sudo apt-get install varnish

Tunggu hingga proses instalasi varnish selesai dan dibawah ini ada beberapa operasi yang bisa dilakukan terhadap Varnish.

systemctl start varnish
systemctl enable varnish
systemctl status varnish

Kemudian lakukan pengecekan terlebih dahulu untuk memastikan Varnish terinstall dengan benar.

sudo netstat -lntp
Memastikan Install Varnish Berhasil
Memastikan Install Varnish Berhasil

Perhatikan baik-baik dengan port 6081 dan 6082 yang merupakan port yang dihasilkan oleh Varnish yang sudah Anda install. Sedangkan pada port 80 merupakan port dari nginx.

Konfigurasi Blok Server Nginx

Tahap berikutnya adalah melakukan konfigurasi atau setting terhadap Varnish.

Pertama-tama Anda harus merubah port 6081 Varnish menjadi port 80 Nginx . Hal ini bertujuan agar Varnish berjalan pada port 80. Sedangkan Nginx berjalan pada port 8080.

Lakukan perubahan pada konfigurasi server block nginx web Anda. Disini file server block saya adalah domain.id.

nano /etc/nginx/sites-available/domain.id

Setelah file konfigurasi server block terbuka silahkan ganti port 80 dengan port 8080.

server {         
     listen 8080;         
     listen [::]:8080;

Untuk file lengkap konfigurasinya bisa melihat di gitlab.com

catatan :

  • Pastikan domain.id telah disesuaikan dengan domain milik Anda sendiri ya.
  • Pada tutorial ini web server sudah menggunakan SSL dari Let’s Encrypt.

Untuk memastikan silahkan jalankan perintah dibawah ini

sudo netstat -lntp

Seharusnya sekarang Varnish sudah menggunakan port 80 sama serperti gambar dibawah ini.

Port Varnish dan Port Nginx
Port Varnish dan Port Nginx

Konfigutasi Varnish

Langkah berikutnya, mengkonfigurasi dua file diantaranya file custom.vcl dan varnish.service.

Membuat file custom.vcl

Gunakan perintah ini untuk membuat sebuah file dengan nama custom.vcl dimana file ini akan berisi banyak baris konfigurasi.

sudo nano /etc/varnish/custom.vcl

Untuk melihat konfigurasi sepenuhnya Anda bisa mengunjungi gitlab.com

Catatan :

  • Silahkan ganti domain.id dengan domain Anda.
  • IP Server 94.237.72.140 di ganti dengan IP server milik Anda.

Memodifikasi file varnish.service

File ini akan memerintahkan atau memanggil file custom.vcl pada port 80.

Perhatikan pada bari ini dan silahkan ubah port 6081 menjadi port 80 dan file default.vcl menjadi custom.vcl.

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :6081 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,512m

Berikut file konfigurasi secara keseluruhannya dan atau Anda bisa mengunjung file konfigurasi varnish.service di gitlab.com.

[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/custom.vcl -S /etc/varnish/secret -s malloc,512m
ExecReload=/usr/share/varnish/varnishreload
ProtectSystem=full
ProtectHome=true
PrivateTmp=true
PrivateDevices=true

[Install]
WantedBy=multi-user.target

Silahkan simpan atau save file yang sudah di edit barusan.

Selanjutnya jalankan perintah berikut

nginx -t

Perintah di atas untuk memastikan apakah file konfigurasi sudah benar atau belum. Jika terdapat kesalahan segera perbaiki.

Kemudian lakukan perintah perintah dibawah ini

sudo systemctl daemon-reload 
sudo service varnish restart

Pengujian Varnish

Setelah proses diatas dilakukan dengan baik, tahap terakhir adalah melakukan pengujian terhadap tutorial yang telah dilakukan dengan menjalankan perintah ini.

curl -I domian.id atau IP_server

Sebagai contah Anda akan mendapatkan hasil serperti pada gambar dibawah ini.

Pengujuan Varnish
Pengujuan Varnish

Pada perintah pertama melakukan pengujian pada domain dengan HTTP. Sedangkan pada pengujian kedua menggunakan HTTPS.

Sampai disini tutorial Cara Install Varnish dengan SSL pada Nginx Ubuntu kali ini.

Jika ada yang perlu ditanyakan atau butuh bantuan bisa meninggalkan komentar dibawah ini.

Happy Blogging

Tinggalkan komentar