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 IPload_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/hosts3.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 bebanSetelah 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 updateSelanjutnya, instal HA Proxy seperti yang ditunjukkan
#yum install haproxy
Setelah penginstalan berhasil, buka direktori haproxy.
# cd /etc/haproxyPraktik 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.bakSelanjutnya, lanjutkan dan buka file konfigurasi
vim haproxy.cfgPastikan 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.konfPastikan 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.konfRekatkan baris berikut, simpan dan keluar
lokal2.=info /var/log/haproxy-access.log #Untuk Log Akseslokal2.pemberitahuan /var/log/haproxy-info.log #Untuk Info Layanan - Backend, loadbalancer
Agar perubahan diterapkan, mulai ulang daemon rsyslog seperti yang ditunjukkan:
# systemctl restart rsyslogKemudian 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 updateInstal berikutnya EPEL (Paket Ekstra untuk Enterprise Linux)
#yum install epel-releaseUntuk menginstal Nginx, jalankan perintah:
#yum install nginxSelanjutnya, 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.htmlUntuk server_02
# echo "server_02. Hei ! Selamat datang di server web kedua"> indeks.htmlAgar perubahan diterapkan, mulai ulang Nginx
# systemctl restart nginxLangkah 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.132Anda 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-addressHalaman 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.