HAProxy

Cara Menyiapkan HAProxy sebagai Load Balancer untuk Nginx di CentOS 8

Cara Menyiapkan HAProxy sebagai Load Balancer untuk Nginx di CentOS 8
Proksi Ketersediaan Tinggi, juga disingkat HAProxy adalah pengimbang beban ringan dan cepat yang juga berfungsi sebagai pelayan proksi. Sebagai pengimbang beban, ia memainkan peranan penting dalam menyebarkan lalu lintas web masuk ke beberapa pelayan web menggunakan kriteria tertentu. Dengan berbuat demikian, ia memastikan ketersediaan dan toleransi kesalahan yang tinggi sekiranya terdapat terlalu banyak permintaan serentak yang mungkin membebani pelayan web tunggal.

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 hos
load_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 / host
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 / dll / tuan rumah fail dengan alamat IP dan nama host load balancer

3.17.12.132 pengimbang beban

Selepas 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 yum

Seterusnya, pasang HA Proxy seperti yang ditunjukkan

# yum pasang haproxy

Setelah pemasangan berjaya, arahkan ke direktori haproxy.

# cd / etc / haproxy

Amalan terbaik menghendaki kami membuat sandaran fail konfigurasi sebelum melakukan pengubahsuaian.  Jadi Sandarkan haproxy.cfg fail dengan menamakannya semula.

# mv haproxy.cfg haproxy.cfg.bakar

Seterusnya, teruskan dan buka fail konfigurasi

vim haproxy.cfg

Pastikan 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.pengesahan

Pastikan 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.pengesahan

Tampal baris berikut, simpan dan keluar

tempatan2.= info / var / log / haproxy-akses.log #Untuk Log Akses
tempatan2.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 rsyslog

Kemudian 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 yum

Pasang EPEL seterusnya (Pakej Tambahan untuk Linux Enterprise)

# yum pasang pelepasan epel

Untuk memasang Nginx, jalankan arahan:

# yum pasang nginx

Seterusnya, 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>>.html

Untuk pelayan_02

# echo "pelayan_02. Hey ! Selamat datang ke indeks pelayan web kedua>>.html

Untuk perubahan yang berlaku, mulakan semula Nginx

# systemctl mulakan semula nginx

Langkah 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.132

Anda 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-address

Halaman 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.

Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...
Vulkan untuk Pengguna Linux
Dengan setiap kad grafik generasi baru, kami melihat pembangun permainan mendorong had kesetiaan grafik dan semakin dekat dengan fotorealisme. Tetapi ...
OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...