Wednesday, October 8, 2014

Tutorial HTTP Load Balancer dengan NGINX/EngineX di Centos 6.4

Udah lama gak nulis lagi, banyak kerjaan haha.
Langsung aja kali ini bakal ngeshare gimana caranya ngebuat Load Balancer HTTP menggunakan EngineX/Nginx Web Server di Centos.

Kira2 topologinya seperti ini, terdiri dari 3 server yaitu :
- Server EngineX/Nginx ( IP Address 192.168.99.23 )
- Web1 ( IP Address 192.168.99.21 )
- Web2 ( IP Address 192.168.99.22 )

Note : 
- Pastikan masing2 server terhubung ke internet yah.
- Percobaan dibawah ini dengan keadaan iptables dan selinux dalam keadaan off.

1. Install Paket Nginx di server 192.168.99.23
    
    vim /etc/yum.repos.d/nginx.repo
    tambahkan wording dibawah ini

    [nginx]
    name=nginx repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=0
    enabled=1

    Lalu jalankan command yum install nginx sebagai root.

    Edit file /etc/nginx/conf.d/default.conf
    Lalu tambahkan konfigurasi seperti dibawah ini :
    
    upstream web {
        server 192.168.99.21;
        server 192.168.99.22;
    }

     server {
     listen 80; # Listen on the external interface
     server_name  192.168.99.23;
      location / {
        proxy_pass http://web;
        } 
     }

     Jalankan command /etc/init.d/nginx start dan chkconfig nginx on

2. Install Paket Apache di server 192.168.99.21 dan 192.168.99.22

Instalasi Web1 (webserver1 - 192.168.99.21) :

- yum install httpd
- vim /var/www/html/index.html

Tambahin file ini :
<!DOCTYPE html>
<html>
<body>

<h1>This is WEB1</h1>

</body>
</html>

-  /etc/init.d/httpd start
- chkconfig httpd on

Instalasi Web2 (webserver2 - 
192.168.99.22) :

- yum install httpd
- vim /var/www/html/index.html
tambahin file ini :
<!DOCTYPE html>
<html>
<body>

<h1>This is WEB2</h1>

</body>
</html>

-  /etc/init.d/httpd start
- chkconfig httpd on


3. Cara Ngetes
Buka web browser, trus masukin IPAddress LB nya. Kalo dari contoh di sini menggunakan ip 192.168.99.23.

Outputnya pasti antara 2 :
This is web1 

atau 
This is web2

No comments:

Post a Comment