HaProxy digunakan oleh tapak popular seperti Tumblr, GitHub dan StackOverflow. Dalam panduan ini, kami akan membawa anda melalui pemasangan HAProxy dalam persediaan pelayan web yang dikuasakan menggunakan Nginx.
Persediaan Makmal
3 contoh pelayan CentOS 7 seperti yang ditunjukkan
Nama hos Alamat IP
pengimbang_beban 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 bermula, log masuk ke sistem pengimbang beban dan ubah suai fail /etc/hosts untuk memasukkan nama hos dan alamat IP kedua-dua pelayan web seperti yang ditunjukkan
$ kerana / dan lain-lain / tuan rumah
3.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 /etc/hosts fail dengan alamat IP dan nama hos pengimbang beban
3.17.12.132 pengimbang bebanSelepas itu, sahkan bahawa anda boleh ping pengimbang beban daripada pelayan_01
Dan begitu juga dari server_02
Juga, pastikan, anda boleh ping pelayan daripada pengimbang beban.
Sempurna! semua pelayan boleh berkomunikasi dengan pengimbang beban!
Langkah 2: Pasang dan konfigurasikan HA Proxy pada pengimbang beban
Oleh kerana HA Proxy tersedia dari repositori rasmi CentOS, kami akan memasangnya menggunakan pengurus pakej yum atau dnf.
Tetapi seperti biasa, kemas kini sistem dahulu
# kemas kini yumSeterusnya, pasang HA Proxy seperti yang ditunjukkan
# sedap pasang haproxySelepas pemasangan berjaya, navigasi ke direktori haproxy.
# cd / dan lain-lain / haproxyAmalan terbaik memerlukan kami menyandarkan sebarang fail konfigurasi sebelum membuat sebarang pengubahsuaian. Jadi Sandarkan haproxy.cfg fail dengan menamakan semula.
# mv haproxy.cfg haproxy.cfg.bakSeterusnya, teruskan dan buka fail konfigurasi
kerana haproxy.cfgPastikan anda membuat pengubahsuaian seperti yang ditunjukkan
#------------------------------------------------ --------------------# Tetapan global
#------------------------------------------------ --------------------
global
log 127.0.0.1 setempat2 #Konfigurasi log
chroot / adalah / lib / haproxy
pidfile / adalah / lari / haproxy.pid
maxconn 4000
pengguna haproxy #Haproxy berjalan di bawah 'haproxy' pengguna dan kumpulan
kumpulan haproxy
daemon
# hidupkan soket unix statistik
soket statistik / adalah / lib / haproxy / statistik
#------------------------------------------------ --------------------
# lalai biasa yang akan dilakukan oleh semua bahagian 'dengar' dan 'belakang'
# gunakan jika tidak ditetapkan dalam blok mereka
#------------------------------------------------ --------------------
lalai
mod http
log global
pilihan httplog
pilihan dontlognull
pilihan http-server-close
pilihan ke hadapan untuk kecuali 127.0.0.0 / 8
pilihan penghantaran semula
mencuba semula 3
tamat masa http-permintaan 10s
baris gilir tamat masa 1m
tamat masa sambung 10s
pelanggan tamat masa 1m
pelayan tamat masa 1m
tamat masa http-kekal-hidup 10s
semakan tamat masa 10s
maxconn 3000
#------------------------------------------------ --------------------
Konfigurasi Pemantauan #HAProxy
#------------------------------------------------ --------------------
dengar haproxy3-monitoring * : 8080 #Haproxy Monitoring dijalankan pada port 8080
mod http
pilihan ke hadapan untuk
pilihan httpclose
statistik membolehkan
statistik menunjukkan-legenda
statistik muat semula 5s
statistik uri / statistik #URL untuk pemantauan HAProxy
alam statistik Haproxy\ Statistics
pengesahan statistik Kata laluan123: Kata laluan123 #Pengguna dan Kata Laluan untuk log masuk ke papan pemuka pemantauan
pentadbir statistik jika BENAR
default_backend app-main #Ini adalah pilihan untuk memantau bahagian belakang
#------------------------------------------------ --------------------
# Konfigurasi Hadapan
#------------------------------------------------ --------------------
bahagian hadapan utama
mengikat * : 80
pilihan http-server-close
pilihan ke hadapan untuk
default_backend app-main
#------------------------------------------------ --------------------
# BackEnd round robin sebagai algoritma imbangan
#------------------------------------------------ --------------------
apl bahagian belakang utama
roundrobin imbangan Algoritma #Imbangan
pilihan httpchk HEAD / HTTP / 1.1 \r\nHos:\ localhost
#Semak aplikasi pelayan sudah siap 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 anda mengubah suai nama hos pelayan web dan alamat IP seperti yang ditunjukkan dalam dua baris terakhir. Simpan perubahan dan keluar.
Langkah seterusnya adalah untuk mengkonfigurasi Rsyslog supaya dapat log statistik HAProxy.
# kerana / dan lain-lain / rsyslog.confPastikan anda menyahkomen baris di bawah untuk membenarkan sambungan UDP
$ModLoad imudp$UDPServerRun 514
Seterusnya, teruskan dan buat fail konfigurasi baharu haproxy.conf
# kerana / dan lain-lain / rsyslog.d / haproxy.confTampal baris berikut, simpan dan keluar
local2.=maklumat / adalah / log / haproxy-access.log #Untuk Log Aksessetempat2.perasan / adalah / log / haproxy-info.log #Untuk Maklumat Perkhidmatan - Bahagian belakang, pengimbang muatan
Untuk perubahan berkuat kuasa mulakan semula daemon rsyslog seperti yang ditunjukkan:
# systemctl mulakan semula rsyslogKemudian mulakan dan dayakan HAProxy
# systemctl mulakan rsyslog# systemctl membolehkan rsyslog
Sahkan bahawa HAProxy sedang berjalan
# systemctl status rsyslogLangkah 3: Pasang dan konfigurasikan Nginx
Kini, satu-satunya bahagian yang tinggal ialah pemasangan Nginx. Log masuk ke setiap pelayan dan kemas kini pakej sistem dahulu:
# kemas kini yumPasang seterusnya EPEL (Pakej Tambahan untuk Linux Perusahaan)
# sedap pasang pelepasan hangatUntuk memasang Nginx, jalankan arahan:
# sedap pasang nginxSeterusnya, mulakan dan dayakan Nginx
# systemctl mulakan nginx# systemctl membolehkan nginx
Kami kemudiannya akan mengubah suai fail index.html dalam kedua-dua kes untuk menunjukkan atau mensimulasikan cara pengimbang beban dapat mengagihkan trafik web merentas kedua-dua pelayan.
Untuk pelayan_01
# bergema 'server_01. Hey! Selamat datang ke pelayan web pertama' > index.htmlUntuk pelayan_02
# bergema 'server_02. Hey! Selamat datang ke pelayan web kedua' > index.htmlUntuk perubahan yang akan dilaksanakan, mulakan semula Nginx
# systemctl mulakan semula nginxLangkah 4: Menguji jika pengimbang beban berfungsi
Kami akhirnya berada di titik di mana kami ingin melihat sama ada konfigurasi berfungsi. Jadi log masuk ke pengimbang beban dan laksanakan arahan curl berulang kali
# curl 3.17.12.132Anda harus mendapatkan output berselang-seli pada terminal yang menunjukkan nilai index.html daripada server_01 dan server_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 daripada mana-mana pelayan web
Sekarang muat semula halaman web dan semak untuk melihat sama ada ia memaparkan kandungan daripada pelayan web yang lain
Sempurna! Imbangan beban mengagihkan trafik IP secara sama rata antara kedua-dua pelayan web!
Ini mengakhiri tutorial ini tentang cara anda boleh memasang serta mengkonfigurasi HAProxy pada CentOS 8. Maklum balas anda akan sangat dihargai.