Load balancing Nginx step by step

By | April 26, 2016

Cara pengaturan load balancing dengan Nginx, Linux CentOS ikuti step by stepnya berikut ini.

Setidaknya punya 3 server/IP

  • server I bagi load balancing dengan Nginx
  • server II web1 (dapat nginx, apache dll)
  • server III web2 (dapat apache, nginx dll)

Gunakan System Operasi Linux CentOS 6 minimal

1. Menambahkan Repository Epel

Bagi CentOS 32bit

wget http://unduh.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

Bagi CentOS 64bit

wget http://unduh.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

 

2. Install Nginx

Install program dan start nginx disusul dengan menambahkan service nginx ke daftar startup agar selalu aktif dikala mesin direboot.

yum install nginx -y
service nginx start
chkconfig --levels 235 nginx on

 

3. Chek

buka browser cek http://ip, Seandainya berhasil ada tulisan Welcome to Nginx, bila gagal stop dan remove httpd kemudian start/restart nginx.

service httpd stop
yum remove httpd
service nginx start

 

4. Load Balancing Nginx

Di contoh dibawah ini Load balancing ini berfungsi bagi menyeimbangkan beban trafik http(s) yang akan ditargetkan ke program agar berjalan optimal.

bikin file konfigurasi nginx load balance lokasinya ada di /etc/nginx/conf.d/

vi /etc/nginx/conf.d/load_balance.conf

Isinya selaku berikut

upstream loadbalance {
       192.0.0.1;
       192.0.2.2;
}
server {
     listen 80;
     server_name domain.com www.domain.com;

      error_log /var/log/nginx/error.log crit;
     access_log off;

       location / {
           proxy_pass http://loadbalance;
     }
}

 

Bagi trafik HTTPS gunakan konfigurasi berikut

upstream loadbalance {
       192.0.0.1;
       192.0.2.2;
}
server {
        listen          80;
        server_name     domain.com www.domain.com;
        return          301  https://$server_name$request_uri;
}
server {
      listen 443 ssl;
      server_name domain.com;

ssl on;
        ssl_certificate /lokasi/sertifikat/ssl/fullchain.pem;
        ssl_certificate_key /lokasi/sertifikat/ssl/privkey.pem;
        ssl_prefer_server_ciphers on;

      error_log /var/log/nginx/error.log crit;
      access_log off;

       location / {
            proxy_pass http://loadbalance;
      }
}

5. Cek

Restart Nginx

service nginx restart

Coba shutdown server III, cek di browser bila situs tetap online dengan server II berarti OK, semacam itu sebaliknya.

Referensi : Using Nginx as HTTP load balancer


Sumber https://idnetter.com