Membuat CDN dengan Docker

building-joy-planning-plans.jpg

Selamat Sore,  sore ini jurnal gulo akan kembali update setelah beberapa saat lalu jarang update dikarenakan harus menyelesaikan urusan sekolah. Pada kesempatan ini jurnal gulo akan membahas mengenai CDN(Content Delivery Network). CDN adalah sebuah sistem jaringan server yang mendistribusikan aplikasi kepada pengguna. Dalam hal ini bisa dikatakan bahwa CDN membagi sebuah konten menjadi beberapa bagian dan menjalankan tiap-tiap bagian tersebut pada sebuah server.  Misalnya apabila sebuah konten berupa sebuah halaman web maka css akan dijalankan pada sebuah server sendiri, Javascript akan dijalankan pada sebuah server sendiri, dan html serta php akan dijalankan pada server.

Pada kali ini kita akan membuat sebuah CDN dengan docker container, dimana masing-masing container akan menjalankan servicenya masing-masing. Kali ini kita akan menggunakan contoh webservice yang akan kita pecah masing-masing servicenya.

Sebelum memulai ngoprek pastikan docker telah berjalan pada komputer anda.

systemctl status docker

jika docker daemon dalam keadaan mati, maka hidupkan dulu service docker daemonnya

systemctl start docker

karena kita disini akan memerlukan lebih dari sekedar service nginx pada sebuah container maka disini kita akan melakukan instalasi sebuah OS pada container. disini saya akan menggunakan centos yang terinstall nginx.

docker pull centos:latest

pastikan image centos sudah terdownload pada komputer kita

docker search centos

jika sudah saatnya kita install centos pada container

docker run --privileged --name nginx1 -h nginx1 -v /var/www/html:/website -di /sbin/init

buat 2 buah container lainnya dengan langkah-langkah seperti diatas dan install centos image pada masing-masing container lainnya.

selanjutnya masuk ke dalam continaer dan install nginx serta php.

docker exec -ti nginx1 /bin/bash
yum -y update
yum -y install epel-release
yum -y install nginx php

lakukan instalasi nginx dan php pada 2 container lainnya.
upload sebuah template web yang bisa di download di sini (https://www.freewebtemplates.com/) atau apabila mempunyai sebuah template web sendiri bisa digunakan. copy kan template web anda di /var/www/html pada host os anda. disini host os saya menggunakan centos. bila anda menggunakan ubuntu atau os lainnya harap menyesuaikan.

selanjutnya konfigurasi nginx pada container nginx1, konfigurasi ini ditujukan untuk mengarahkan letak default document root ke direktori /nginx/namatemplate

vi /etc/ngnix/nginx.conf

pada bagian root ubah menjadi root /nginx/namatemplate
kemudian tambahkan code berikut dibawah code include /etc/nginx/default.d/*.conf;

location ~ ^/css {
return 301 $scheme://ip_address_nginx2/$request_uri;
}

location ~ ^/js {
return 301 $scheme://ip_address_nginx3/$request_uri;
}

code diatas berfungsi untuk mengarahkan trafik CSS ke container nginx2 dan trafik Javascript ke container nginx3.

jangan lupa mengkonfigurasi document root nginx pada kedua container lainnya.

Sekian, jurnal kali ini. terimakasih

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s