Saturday, May 2, 2009

Load Balancing dengan Nginx

diambil dari nginx.org

Nginx di baca (enginex) adalah http server yang sedang naik daun (2009) yg dibuat oleh Igor Sysoev orang Rusia , nginx meng-klaim 1% -4% domain di seluruh dunia menggunakan Nginx (2009, http://wiki.nginx.org/Main)

Untuk posting ini, yg akan di bahas adalah salah satu feature dari Ngnix, adalah Load Balancing. jadi dengan load balancing kita bisa membagi beban request http ke banyak server...

oke deh.. kita coba bikinnya, mulai dari instalasi sampe configurasinya... sebelumnya gw kasih tau dulu OS yg gw pake Ubuntu Jaunty (9.04),

untuk instalasi ada dua cara:
  1. mengunakan repositorinya ubuntu sudo apt-get install nginx
  2. download source nya dan compile sendiri

kita akan coba instalasi dari source code nya dan install sendiri, ok ini tahapannya..

1. install PCRE (Perl Configuration Regular Expresion) adalah library yang di butuhkan oleh nginx,

sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev


2. download source nginx di http://wiki.nginx.org/NginxInstall

3. ektrak nginx

4. setelah di ekstrak masuk ke folder tersebut, kemudian jalan-kan perintah di bawah ini secara bertahap.

sudo ./configure sudo make sudo make install

5. hidup-kan nginx

sudo /usr/local/nginx/sbin/nginx

6. test nginx di browser lo.. dengan cara ketikan http://localhost bila muncul tulisan "welcome to nginx" artinya instalasinya berhasil


sekarang kita bikin configurasi load balancing nya..

1. buka file konfigurasi nginx menggunakan editor yag lo suka

/usr/local/nginx/conf/nginx.conf


2. tambahkan setting di bawah ini

upstream dendie {
server 192.168.1.104;
server
192.168.1.103;
}

server {
location / {
proxy_pass http://dendie;
index index.php;
}
}


penjelasanya :

upstream dendie {
server 192.168.1.104;
server
192.168.1.103;
}

kita mendefinisikan 2 komputer yang beralamat di ip 192.168.1.104 dan 192.168.1.103 dengan nama proxy nya adalah dendie


server {
location /
{

proxy_pass http://dendie;
index index.php;
}

}

kita memberi tahu pada nginx bila mengkases nginx maka akan di
by pass kan ke proxy dendie, dengan file index nya adalah
index.php


3. restart nginx, cara di bawah ini

sudo kill `cat /usr/local/nginx/logs/nginx.pid`
sudo /usr/local/nginx/sbin/nginx


4. test di browser lo, http://localhost,


selamat sekarang configurasi udah selesai...

konfigurasi diatas akan meng-handle 50% request ke server 192.168.1.104
dan sisanya ke 192.168.103, untuk mengatur persentasi loadnya dan
konfigurasi  yang berhubungan dengan load balancing bisa
di liat di http://wiki.nginx.org//NginxHttpUpstream

untuk membuat init script nginx bisa di liat cara membuatnya di
http://articles.slicehost.com/2007/10/17/
ubuntu-lts-adding-an-nginx-init-script 





4 comments:

  1. nice posting gan

    ReplyDelete
  2. wew ubuntu mulu ni ya sekarang makenya??
    mangstaps...

    Btw, manteps sih postingannya,
    ampe gw bingung mau nanggepin apaan

    ReplyDelete