Cara Setting Load Balancing dengan Nginx

Cara Setting Load Balancing dengan Nginx

Load Balancing adalah sebuah mekanisme untuk membagi atau mendistribusikan trafik ke beberapa server. Nginx selain berfungsi sebagai web server bisa juga berfungsi sebagai load balancer.

Metode Load Balancing

  1. Round Robin: mendistribusikan trafik ke setiap server secara bergantian.
  2. Least Connections: mendistribusikan trafik ke server yang paling sedikit koneksi aktifnya.
  3. IP Hash: mendistribusikan trafik ke server yang sama ketika visitor pertama kali melakukan request.

Topologi Load Balancing
Topologi Load Balancing

0.Perangkat yang digunakan

Perangkat yang digunakan di tutorial ini:

  • OS Ubuntu 18.04 LTS
  • Nginx web server
  • PHP-FPM 7.2
  • Node1: 10.130.127.167
  • Node2: 10.130.128.35
  • LoadBalancer: 128.199.187.215
  • Domain: defnex.com

1.Install Nginx dan PHP-FPM di Node

Install Nginx di Node1 dan Node2.

Membuat file index.php di Node1.

Membuat file index.php di Node2.

Membuat server block di Node1 dan Node2.

File konfigurasi server block.

Uji dan restart Nginx.

2.Install dan Konfigurasi Nginx di Load Balancer

Install Nginx.

Membuat server block untuk load balancing domain defnex.com.

File konfigurasi server block load balancing domain defnex.com.

Pada konfigurasi upstream backend dituliskan IP address dari backend server. Secara default metode load balancing yang digunakan adalah Round Robin.

Konfigurasi load balancing jika menggunakan metode Least Connections.

Konfigurasi load balancing jika menggunakan metode IP Hash.

Uji dan restart Nginx.

3.Pengujian

Browse domain berulang kali, akan menampilkan halaman dari Node1 dan Node2 secara bergantian.

Halaman index.php dari Node1
Halaman index.php dari Node1
Halaman index.php dari Node2
Halaman index.php dari Node2

selamat mencoba 🙂

Default image
Musa Amin
I am a Linux System Administrator and also write many tutorials about Linux, Cloud, and Open Source. Hire me via email hai[at]musaamin.web.id.

8 Comments

  1. bang mohon di update pada gambar
    pada backend mana yang,
    server 10.130.127.167; #node1
    server 10.130.128.35; #node2

  2. Mau tanya pak, berarti kita harus menyediakan 2 server yg berbeda pak? Saya lihatnya backend #1 dan backend #2 itu di server yg berbeda.

Leave a Reply