HaProxy digunakan oleh laman web popular seperti Tumblr, GitHub, dan StackOverflow. Dalam panduan ini, kami akan membawa anda melalui pemasangan HAProxy dalam penyediaan pelayan web yang diaktifkan menggunakan Nginx.
Persediaan Makmal
3 contoh pelayan CentOS 7 seperti yang ditunjukkan
Alamat IP nama hosload_balancer 3.17.12.132
pelayan_01 3.19.229.234
pelayan_02 3.17.9.217
Langkah 1: Edit fail / etc / hosts untuk pengimbang beban
Untuk memulakan, log masuk ke sistem load balancer dan ubah fail / etc / host untuk memasukkan nama host dan alamat IP kedua pelayan web seperti yang ditunjukkan
$ vim / etc / host3.19.229.234 pelayan_01
3.17.9.217 pelayan-02
Setelah selesai, simpan perubahan dan keluar dari fail konfigurasi.
Sekarang pergi ke setiap pelayan web dan kemas kini / dll / tuan rumah fail dengan alamat IP dan nama host load balancer
3.17.12.132 pengimbang bebanSelepas itu, sahkan bahawa anda boleh melakukan ping load balancing dari server_01
Dan juga dari pelayan_02
Juga, pastikan, anda boleh melakukan ping pelayan dari load balancer.
Sempurna ! semua pelayan dapat berkomunikasi dengan pengimbang beban!
Langkah 2: Pasang dan konfigurasikan HA Proxy pada pengimbang beban
Oleh kerana HA Proxy sudah tersedia dari repositori rasmi CentOS, kami akan memasangnya menggunakan pengurus pakej yum atau dnf.
Tetapi seperti biasa, kemas kini sistem terlebih dahulu
# kemas kini yumSeterusnya, pasang HA Proxy seperti yang ditunjukkan
# yum pasang haproxy
Setelah pemasangan berjaya, arahkan ke direktori haproxy.
# cd / etc / haproxyAmalan terbaik menghendaki kami membuat sandaran fail konfigurasi sebelum melakukan pengubahsuaian. Jadi Sandarkan haproxy.cfg fail dengan menamakannya semula.
# mv haproxy.cfg haproxy.cfg.bakarSeterusnya, teruskan dan buka fail konfigurasi
vim haproxy.cfgPastikan anda melakukan pengubahsuaian seperti yang ditunjukkan
#---------------------------------------------------------------------# Tetapan global
#---------------------------------------------------------------------
global
log 127.0.0.1 konfigurasi #Log tempatan2
chroot / var / lib / haproxy
pidfile / var / run / haproxy.pid
maxconn 4000
pengguna haproxy #Haproxy berjalan di bawah pengguna dan kumpulan "haproxy"
haproxy kumpulan
daemon
# hidupkan soket unix statistik
stats socket / var / lib / haproxy / statistik
#---------------------------------------------------------------------
# lalai biasa yang semua bahagian 'dengar' dan 'backend' akan
# gunakan jika tidak ditentukan di blok mereka
#---------------------------------------------------------------------
lalai
mod http
log global
pilihan Scholplog
pilihan dontlognull
pilihan http-pelayan-tutup
opsyen ke hadapan kecuali 127.0.0.0/8
pilihan penghantaran semula pilihan
mencuba semula 3
tamat masa http-permintaan 10s
barisan tamat 1m
timeout sambung 10s
pelanggan tamat masa 1m
pelayan tamat masa 1m
tamat masa 10-jaga-hidup 10-an
checkout timeout 10s
maxconn 3000
#---------------------------------------------------------------------
#HAProxy Monitoring Config
#---------------------------------------------------------------------
dengarkan haproxy3-monitoring *: 8080 #Haproxy Monitoring dijalankan di port 8080
mod http
opsyen ke hadapan untuk
pilihan httpclose
statistik membolehkan
statistik menunjukkan-legenda
statistik menyegarkan 5
stat uri / stats #URL untuk pemantauan HAProxy
stats realm Haproxy \ Statistik
stats auth Password123: Password123 # Pengguna dan Kata Laluan untuk log masuk ke papan pemuka pemantauan
pentadbir statistik sekiranya BENAR
default_backend app-main #Ini adalah pilihan untuk memantau backend
#---------------------------------------------------------------------
# Konfigurasi FrontEnd
#---------------------------------------------------------------------
bahagian depan utama
mengikat *: 80
pilihan http-pelayan-tutup
opsyen ke hadapan untuk
default_backend app-main
#---------------------------------------------------------------------
# BackEnd round robin sebagai algoritma keseimbangan
#---------------------------------------------------------------------
backend app-main
keseimbangan algoritma #Balance roundrobin
pilihan httpchk KETUA / HTTP / 1.1 \ r \ nHost: \ localhost
#Periksa aplikasi pelayan habis dan sihat - 200 kod status
pelayan pelayan_01 3.19.229.234: 80 semak # Nginx1
pelayan pelayan_02 3.17.9.217: 80 semak # Nginx2
Pastikan untuk mengubah nama host dan alamat IP pelayan web seperti yang ditunjukkan dalam dua baris terakhir. Simpan perubahan dan keluar.
Langkah seterusnya adalah mengkonfigurasi Rsyslog agar dapat log statistik HAProxy.
# vim / etc / rsyslog.pengesahanPastikan anda melepaskan garis di bawah untuk membolehkan sambungan UDP
$ ModLoad imudp$ UDPServerRun 514
Seterusnya, teruskan dan buat fail konfigurasi baru haproxy.pengesahan
# vim / etc / rsyslog.d / haproxy.pengesahanTampal baris berikut, simpan dan keluar
tempatan2.= info / var / log / haproxy-akses.log #Untuk Log Aksestempatan2.notis / var / log / haproxy-info.log #Untuk Maklumat Perkhidmatan - Backend, loadbalancer
Untuk perubahan yang berlaku, mulakan semula daemon rsyslog seperti yang ditunjukkan:
# systemctl mulakan semula rsyslogKemudian mulakan dan aktifkan HAProxy
# systemctl mulakan rsyslog# systemctl mengaktifkan rsyslog
Sahkan bahawa HAProxy sedang berjalan
#sistemctl status rsyslog
Langkah 3: Pasang dan konfigurasikan Nginx
Sekarang, satu-satunya bahagian yang tinggal adalah pemasangan Nginx. Log masuk ke setiap pelayan dan kemas kini pakej sistem terlebih dahulu:
# kemas kini yumPasang EPEL seterusnya (Pakej Tambahan untuk Linux Enterprise)
# yum pasang pelepasan epelUntuk memasang Nginx, jalankan arahan:
# yum pasang nginxSeterusnya, mulakan dan aktifkan Nginx
# systemctl mulakan nginx# systemctl aktifkan nginx
Kami kemudian akan mengubah indeks.fail html dalam kedua-dua kes untuk menunjukkan atau mensimulasikan bagaimana load balancer dapat mengedarkan trafik web di kedua-dua pelayan.
Untuk pelayan_01
# echo "pelayan_01. Hey ! Selamat datang ke indeks pelayan web pertama>>.htmlUntuk pelayan_02
# echo "pelayan_02. Hey ! Selamat datang ke indeks pelayan web kedua>>.htmlUntuk perubahan yang berlaku, mulakan semula Nginx
# systemctl mulakan semula nginxLangkah 4: Menguji sama ada pengimbang beban berfungsi
Kami akhirnya berada di titik di mana kita ingin melihat apakah konfigurasi berfungsi. Oleh itu, log masuk ke load balancer dan laksanakan perintah curl berulang kali
# keriting 3.17.12.132Anda harus mendapatkan output bergantian di terminal yang menunjukkan nilai indeks.html dari pelayan_01 dan pelayan_02
Sekarang mari kita uji menggunakan penyemak imbas web. Semak imbas alamat IP pengimbang beban anda
http: // load-balancer-IP-addressHalaman pertama akan memaparkan kandungan dari mana-mana pelayan web
Sekarang muat semula halaman web dan periksa untuk melihat apakah ia memaparkan kandungan dari pelayan web lain
Sempurna ! Keseimbangan beban mengagihkan trafik IP secara seimbang di antara dua pelayan web !
Ini menyelesaikan tutorial ini tentang bagaimana anda boleh memasang dan juga mengkonfigurasi HAProxy di CentOS 8. Maklum balas anda akan sangat dihargai.