Load Balancing with NGINX on Macintosh Operating System

Pada tulisan ini saya akan membahas tentang implementasi load balancing untuk website django dengan Nginx dan saya juga akan menjelaskan instruksi implementasinya yang saya akan jelaskan dengan Mac Operating System.

Pertama-tama apasih Load Balancing itu? Load Balancing adalah cara untuk melakukan distribusi beban trafik request dari user ke beberapa server. Beban trafik yang dimunculkan oleh user maka akan secara otomatis disebar secara merata di server-server sehingga tidak terjadi overload pada suatu jalur koneksi. Bagaimana cara untuk menggunakan implementasi load balancing suatu website django dengan menggunakan Nginx? Berikut adalah langkah-langkah cara untuk menggunakan load balancing antara lain :

Download Nginx

Cara mudah untuk melakukan download adalah dengan Homebrew terlebih dahulu, caranya adalah :

> usr/bin/ruby -e “$(curl -fsSL

https://raw.githubusercontent.com/Homebrew/install/master/install)

Setelah Homebrew telah di download, maka tahap selanjutnya adalah dengan download Nginx yang dilakukan dengan cara sebagai berikut :

> brew install nginx

Jika sudah berhasil di download, maka tahap selanjutnya adalah dengan menjalankan Nginx di komputer anda dengan command :

> sudo brew services start nginx

Ketika tahap ini sudah dilakukan, cek apakah Nginx yang sudah anda jalankan sudah berhasil atau belum, caranya adalah dengan melakukan akses ke localhost di web browser anda. Jika berhasil maka akan muncul halaman berikut :

Halaman yang akan muncul jika Nginx berhasil dijalankan

Pengaturan Konfigurasi Nginx

Cara untuk melakukan pengaturan konfigurasi Nginx adalah dengan mengubah file nginx.conf yang ada di dalam folder Nginx di Finder komputer anda. Agar cepat dalam mencari file nginx.conf anda bisa mencari dengan mengetik Command + Shift + G dan masukkan path ini :

/usr/local/etc/nginx

Setelah masuk ke path tersebut maka akan melihat file nginx.conf dan setelah itu bukalah file tersebut di editor anda. Penulis disini akan mencontohkan dengan aplikasi editor Visual Studio Code.

Contoh file nginx.conf

Setelah file nginx.conf sudah terbuka seperti gambar diatas, maka kita harus melakukan konfigurasi dengan mengubah bagian localhost agar mempunyai 2 port server yaitu server 8000 dan 9000. Cara yang anda perlu lakukan agar muncul 2 port server adalah sebagai berikut :

Melakukan konfigurasi nginx.conf seperti ini

Setelah file nginx.conf sudah diganti seperti gambar diatas maka anda harus melakukan reload Nginx di terminal dengan cara sebagai berikut :

> sudo nginx -s reload

Hal ini perlu dilakukan agar Nginx dapat mendeteksi perubahan yang terjadi dari konfigurasi yang telah kita lakukan di file nginx.conf, sehingga perubahan langsung diaplikasikan setelah dilakukan reload ulang Nginx.

Pengecekan Server

Setelah semua instruksi diatas telah dilakukan selanjutnya kita harus mengecek apakah konfigurasi Nginx yang sudah dilakukan berjalan atau tidak dan apakah perubahan kita dengan membuat 2 port server yang kita sudah buat ada atau tidak. Cara yang dilakukan untuk mengecek hal tersebut adalah dengan menjalankan 2 port server dengan membuka 2 terminal dengan project django yang sama, lalu jalankan project tersebut dengan 2 port server yang berbeda yaitu :

> python manage.py runserver 8000

> python manage.py runserver 9000

Menjalankan 2 port server 8000 dan 9000 di session terminal yang berbeda

Setelah menjalankan 2 server port yang berbeda yaitu 8000 dan 9000, selanjutnya kita harus melihat apakah project django yang dijalankan sudah muncul di localhost dengan port server yang sudah ditentukan sehingga selanjutnya bukalah web browser anda dan cek apakah sudah 2 port tersebut sudah menjalankan project django tersebut, contohnya dapat dilihat pada gambar dibawah :

Project django yang dilanjankan di 2 port server yang berbeda

Dapat dilihat di gambar diatas bahwa runserver yang telah dilakukan sudah berhasil dilaksanakan dan dijalankan di 2 port yang berbeda walaupun menjalankan project yang sama, sehingga dapat dibilang bahwa Nginx telah berhasil dijalankan. Hal ini juga menunjukkan bahwa implementasi load balancing telah dilakukan karena jika web dijalankan pertama kali maka akan dijalankan oleh server port 8000, dan jika di refresh lagi maka akan dijalankan oleh server port 9000. Ketika implementasi ini dilakukan maka website kita akan otomatis melakukan handle jika request dari user overload. Selain itu jika server port 8000 diberhentikan maka port server 9000 akan tetap berjalan walaupun salah satu server port sudah di terminate.

Sekian penjelasan saya mengenai implementasi load balancing dengan Nginx di Mac Operating System. Apabila ada kritik dan saran silahkan tulis komentar dibawah ↓

Terima kasih telah membaca!

Writer with a Big Dreams

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store