YouTube Caching Menggunakan Squid & Nginx

Sejujurnya, hampir tidak mungkin kita dapat melakukan caching semua video yang ada di YouTube. Tetapi dengan melakukan caching video yang banyak diakses oleh pengguna, otomatis akan cukup bisa membantu menghemat bandwidth Internet kita.

NOTE:

  • Tutorial ini saya ambil dari blognya Syed Jahanzaib, tetapi sedikit saya utak-atik agar sesuai dengan OS yang saya pakai, yakni Debian 7 (Wheezy).
  • Saya tidak menjamin tutorial ini bisa berjalan 100% karena terkadang Youtube mengubah url video, sehingga kedepan mungkin akan perlu perbaikan & tweaking.

Selanjutnya kita akan menuju ke proses instalasi.

Langkah-Langkah Instalasi

Saya asumsikan anda sudah memiliki sebuah server dengan instalasi OS Debian 7 (Wheezy), baik 32bit ataupun 64bit tidak masalah. (Note: Kemungkinan tutorial ini juga bisa digunakan pada OS Ubuntu Server, tetapi karena saya belum pernah mencoba, jadi saya tidak bisa menjamin keberhasilannya).

Langkah pertama kita akan mengupdate & mengupgrade komponen Debian dengan perintah:

apt-get update && apt-get upgrade

Dan selanjutnya kita install Squid dengan perintah:

apt-get install squid

Note: disini kita menggunakan Squid versiĀ 2.7.STABLE9-4.1

Kemudian kita backup konfigurasi default dari Squid dengan perintah:

mv /etc/squid/squid.conf /etc/squid/squid.conf.old

Dan kita buat konfigurasi Squid milik kita sendiri yang disesuaikan untuk caching video YouTube:

nano /etc/squid/squid.conf

Dan masukkan konfigurasi berikut:

Simpan & keluar dari nano dengan perintah Ctrl+O dan Ctrl+X

Berikutnya kita akan install Nginx dengan perintah:

apt-get install nginx

Kita backup konfigurasi default nginx.conf dengan perintah:

mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.old

kemudian kita masukkan nginx.conf baru dengan perintah

nano /etc/nginx/nginx.conf

dan masukkan konfigurasi berikut:

Simpan & keluar dari nano dengan perintah Ctrl+O dan Ctrl+X

Selanjutnya kita buat direktori untuk menyimpan file cache:

mkdir /usr/local/www
mkdir /usr/local/www/nginx_cache
mkdir /usr/local/www/nginx_cache/tmp
mkdir /usr/local/www/nginx_cache/files
chown www-data /usr/local/www/nginx_cache/files/ -Rf

Lanjut kita buat file nginx.rb dengan perintah:

touch /etc/nginx/nginx.rb
chmod 755 /etc/nginx/nginx.rb
nano /etc/nginx/nginx.rb

dan masukkan konfigurasi berikut:

Simpan & keluar dari nano dengan perintah Ctrl+O dan Ctrl+X

Kemudian kita instal Ruby dengan perintah:

apt-get install ruby

Dan kita buat direktori untuk menyimpan cache squid:

mkdir /cache
chown proxy:proxy /cache
chmod -R 777 /cache

Jalankan squid agar membuat direktori cache dengan perintah:

squid -z

Dan langkah terakhir adalah menjalankan squid & nginx:

service squid start
service nginx restart

Untuk melihat video yang sudah di cache, jalankan perintah:

ls -lh /usr/local/www/nginx_cache/files

Demo hasil sebelum dan sesudah caching bisa dilihat di video berikut:

Comments 10

  1. AKu mau tanya. apakah youtube caching ini bisa langsung full bar setelah lagu di putar. karena youtube sering sekali merubah2 content nya ( partial ) nya. thanks

    1. Tidak full bar bos, tetep partial. tetep lumayan kan ketimbang harus sedot bandwidth setiap akses video yang sama.

      Btw, sepertinya Google sudah merubah url video youtube, dan efeknya kayaknya tutorial diatas sudah tidak bisa nge-cache lagi, ini saya sedang utak-atik lagi. So stay tune bos.

    1. Berarti gak ada video youtube yang ter cache. Sorry bro, algoritma link youtube sudah berubah, jadi tutorial diatas tidak bisa di implementasikan. Coba ente pake HandyCache atau VideoCache saja.

Leave a Reply

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