HAProxy

Cara Mengatur HAProxy sebagai Load Balancer untuk Nginx di CentOS 8

Cara Mengatur HAProxy sebagai Load Balancer untuk Nginx di CentOS 8
Proxy Ketersediaan Tinggi, juga disingkat HAProxy adalah penyeimbang beban yang ringan dan cepat yang juga berfungsi sebagai server proxy. Sebagai penyeimbang beban, ini memainkan peran penting dalam mendistribusikan lalu lintas web yang masuk di beberapa server web menggunakan kriteria tertentu. Dengan demikian, ini memastikan ketersediaan tinggi dan toleransi kesalahan jika ada terlalu banyak permintaan bersamaan yang dapat membebani server web tunggal web.

HaProxy digunakan oleh situs populer seperti Tumblr, GitHub, dan StackOverflow. Dalam panduan ini, kami akan membawa Anda melalui instalasi HAProxy dalam pengaturan server web yang diberdayakan menggunakan Nginx.

Pengaturan Lab Lab

3 contoh server CentOS 7 seperti yang ditunjukkan

Nama host           Alamat IP
load_balancer      3.17.12.132
server_01          3.19.229.234
server_02          3.17.9.217

Langkah 1: Edit file /etc/hosts untuk penyeimbang beban

Untuk memulai, masuk ke sistem penyeimbang beban dan ubah file /etc/hosts untuk memasukkan nama host dan alamat IP dari dua server web seperti yang ditunjukkan

$ vim /etc/hosts
3.19.229.234   server_01
3.17.9.217     server-02

Setelah selesai, simpan perubahan dan keluar dari file konfigurasi.

Sekarang pergilah ke masing-masing server web dan perbarui /etc/hosts file dengan alamat IP dan nama host penyeimbang beban

3.17.12.132   penyeimbang beban

Setelah itu, konfirmasikan bahwa Anda dapat melakukan ping ke load balancer dari server_01

Dan juga dari server_02

Juga, pastikan, Anda dapat melakukan ping ke server dari penyeimbang beban.

Sempurna ! semua server dapat berkomunikasi dengan penyeimbang beban!

Langkah 2: Instal dan konfigurasikan HA Proxy pada penyeimbang beban

Karena HA Proxy sudah tersedia dari repositori resmi CentOS, kami akan menginstalnya menggunakan manajer paket yum atau dnf.

Tapi seperti biasa, perbarui sistem terlebih dahulu

#yum update

Selanjutnya, instal HA Proxy seperti yang ditunjukkan

#yum install haproxy

Setelah penginstalan berhasil,  buka direktori haproxy.

# cd /etc/haproxy

Praktik terbaik mengharuskan kami untuk mencadangkan file konfigurasi apa pun sebelum melakukan modifikasi apa pun.  Jadi Cadangkan haproksi.cfg file dengan mengganti namanya.

#mv haproxy.cfg  haproxy.cfg.bak

Selanjutnya, lanjutkan dan buka file konfigurasi

vim haproxy.cfg

Pastikan Anda membuat modifikasi seperti yang ditunjukkan

#---------------------------------------------------------------------
# Pengaturan global
#---------------------------------------------------------------------
global
log         127.0.0.1 local2     #Konfigurasi log
 
chroot      /var/lib/haproxy
pidfile     /var/run/haproxy.pid
maxconn     4000
pengguna        haproxy            #Haproxy berjalan di bawah pengguna dan grup "haproxy"
grup       haproxy
daemon
 
# nyalakan soket unix statistik
soket statistik /var/lib/haproxy/stats
 
#---------------------------------------------------------------------
# default umum yang semua bagian 'dengarkan' dan 'backend' akanend
# gunakan jika tidak ditunjuk di blok mereka
#---------------------------------------------------------------------
default
mode                  http
log                   global
opsi                 httplog
opsi                 janganlognull
opsi http-server-close
opsi penerusan untuk       kecuali 127.0.0.0/8
opsi                 pengiriman ulang
coba lagi                3
batas waktu http-request    10 detik
antrian waktu habis           1m
batas waktu terhubung         10 detik
klien waktu tunggu          1m
server batas waktu          1m
batas waktu http-keep-alive 10 detik
pemeriksaan batas waktu           10 detik
maxconn                3000
 
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
mendengarkan haproxy3-monitoring *:8080              #Haproxy Monitoring berjalan di port 8080
modus http
opsi forwardfor
pilihan httpclose
statistik diaktifkan
legenda pertunjukan statistik
statistik menyegarkan 5 detik
stats uri /stats                          #URL untuk pemantauan HAProxy
ranah statistik Haproxy\ Statistik
stats auth Password123: Password123#User dan Password untuk login ke dashboard monitoring
statistik admin jika TRUE
default_backend app-main                  #Ini opsional untuk memantau backend
 
#---------------------------------------------------------------------
# Konfigurasi FrontEnd
#---------------------------------------------------------------------
bagian depan utama
mengikat *:80
opsi http-server-close
opsi forwardfor
default_backend aplikasi-utama
 
#---------------------------------------------------------------------
# BackEnd round robin sebagai algoritma keseimbangan
#---------------------------------------------------------------------
aplikasi backend-utama
roundrobin keseimbangan                      #Algoritme saldo
opsi httpchk HEAD / HTTP/1.1\r\nHost:\ localhost
#Periksa aplikasi server aktif dan sehat - 200 kode status
server server_01 3.19.229.234:80 periksa              #Nginx1
server server_02 3.17.9.217:80 periksa               #Nginx2

Pastikan untuk mengubah nama host server web dan alamat IP seperti yang ditunjukkan dalam dua baris terakhir. Simpan perubahan dan keluar.

Langkah selanjutnya adalah mengonfigurasi Rsyslog agar dapat mencatat statistik HAProxy.

# vim /etc/rsyslog.konf

Pastikan Anda menghapus komentar pada baris di bawah ini untuk mengizinkan koneksi UDP

$ModLoad imudp
$UDPServerRun 514

Selanjutnya, lanjutkan dan buat file konfigurasi baru  haproksi.konf

# vim  /etc/rsyslog.d/haproksi.konf

Rekatkan baris berikut, simpan dan keluar

lokal2.=info   /var/log/haproxy-access.log   #Untuk Log Akses
lokal2.pemberitahuan  /var/log/haproxy-info.log     #Untuk Info Layanan - Backend, loadbalancer

Agar perubahan diterapkan, mulai ulang daemon rsyslog seperti yang ditunjukkan:

# systemctl restart rsyslog

Kemudian mulai dan aktifkan HAProxy

# systemctl mulai rsyslog
# systemctl aktifkan rsyslog

Verifikasi bahwa HAProxy sedang berjalan

# systemctl status rsyslog

Langkah 3: Instal dan konfigurasikan Nginx

Sekarang, satu-satunya bagian yang tersisa adalah instalasi Nginx. Masuk ke masing-masing server dan perbarui paket sistem terlebih dahulu:

#yum update

Instal berikutnya  EPEL (Paket Ekstra untuk Enterprise Linux)

#yum install epel-release

Untuk menginstal Nginx, jalankan perintah:

#yum install nginx

Selanjutnya, mulai dan aktifkan Nginx

# systemctl mulai nginx
# systemctl aktifkan nginx

Kami kemudian akan memodifikasi indeks.html dalam kedua kasus untuk mendemonstrasikan atau mensimulasikan bagaimana penyeimbang beban dapat mendistribusikan lalu lintas web di kedua server.

Untuk server_01

# echo "server_01. Hei ! Selamat datang di server web pertama" > indeks.html

Untuk server_02

# echo "server_02. Hei ! Selamat datang di server web kedua"> indeks.html

Agar perubahan diterapkan, mulai ulang Nginx

# systemctl restart nginx

Langkah 4: Menguji apakah penyeimbang beban berfungsi

Kami akhirnya pada titik di mana kami ingin melihat apakah konfigurasi berfungsi. Jadi masuk ke penyeimbang beban dan jalankan perintah curl berulang kali

# ikal 3.17.12.132

Anda harus mendapatkan output bolak-balik di terminal yang menunjukkan nilai indeks.html  dari server_01 dan server_02

Sekarang mari kita uji menggunakan browser web. Jelajahi alamat IP penyeimbang beban Anda

http://load-balancer-IP-address

Halaman pertama akan menampilkan konten dari server web mana pun


Sekarang segarkan halaman web dan periksa untuk melihat apakah itu menampilkan konten dari server web lain

Sempurna ! Keseimbangan beban mendistribusikan lalu lintas IP secara merata antara dua server web web !
Ini mengakhiri tutorial ini tentang bagaimana Anda dapat menginstal serta mengkonfigurasi HAProxy di CentOS 8. Umpan balik Anda akan sangat dihargai.

Game Terbaik untuk Dimainkan dengan Pelacakan Tangan
Oculus Quest baru-baru ini memperkenalkan ide hebat pelacakan tangan tanpa pengontrol. Dengan jumlah permainan dan aktivitas yang terus meningkat yang...
Cara Menampilkan Overlay OSD di Aplikasi dan Game Linux Layar Penuh
Memainkan game layar penuh atau menggunakan aplikasi dalam mode layar penuh bebas gangguan dapat memutus Anda dari informasi sistem yang relevan yang ...
5 Kartu Tangkap Game Teratas
Kita semua telah melihat dan menyukai gameplay streaming di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain top yang telah m...