Kami mempunyai tiga mesin. Kami akan memasang HAproxy pada satu pelayan dan pelayan web Apache pada dua pelayan. Pelayan HAproxy kami kemudiannya akan bertindak sebagai penyeimbang beban dan akan mengagihkan beban di antara pelayan web Apache.
Nota: Prosedur dan arahan yang dinyatakan dalam catatan ini telah diuji Ubuntu 20.04 LTS (Focal Fossa). Prosedur yang sama juga berlaku untuk pengedaran Debian dan Mint.
Butiran Rangkaian
Kami akan menggunakan tiga pelayan Ubuntu; semua di rangkaian yang sama. Perincian pelayan kami adalah seperti berikut:
Nama Hos: HAproxy, alamat IP: 192.168.72.157 (Pelayan frontend)Nama Hos: pelayan web1, alamat IP: 192.168.72.158 (pelayan Backend)
Nama Hos: pelayan web2, alamat IP: 192.168.72.159 (pelayan Backend)
Nota: Anda mesti mempunyai hak istimewa sudo di semua pelayan.
Kami akan mengkonfigurasi satu mesin sebagai pengimbang beban dan dua yang lain sebagai pelayan web. Pelayan HAproxy akan menjadi pelayan front-end kami yang akan menerima permintaan dari pengguna dan meneruskannya ke dua pelayan web. Pelayan web akan menjadi pelayan Backend kami yang akan menerima permintaan yang diteruskan.
Beginilah rupa persediaan kami:
Menyiapkan pelayan web-pelayan Backend
Di bahagian ini, kami akan menyediakan dua pelayan web (pelayan web1 dan pelayan web2) sebagai pelayan backend kami.
Pada pelayan web1 (192.168.72.158)
Lakukan langkah-langkah berikut di pelayan web anda. Pastikan untuk mengganti nama host dan alamat IP dengan alamat IP dan nama host pelayan web anda yang berkenaan.
1. Konfigurasikan fail hos
Dihidupkan pelayan web1, sunting / dll / tuan rumah fail:
$ sudo nano / etc / hostKemudian tambahkan entri nama host untuk Proksi HA pelayan seperti berikut:
nama host-of-HAproxy IP-address-of-HAproxyDalam senario kami, ia adalah:
HAproksi 192.168.72.1572. Sediakan pelayan web Apache
Sekarang pasang pelayan web Apache menggunakan perintah di bawah di Terminal. Anda juga boleh melayari kiriman kami di Cara memasang pelayan web Apache di Linux.
$ sudo apt install apache2Kemudian aktifkan dan mulakan perkhidmatan Apache menggunakan arahan di bawah di Terminal:
$ sudo systemctl mengaktifkan apache2$ sudo systemctl mulakan apache2
Buat fail indeks untuk pelayan web1 menggunakan arahan di bawah di Terminal:
$ gema "Helo! Ini adalah pelayan laman web 1: 192.168.72.158
"| sudo tee / var / www / html / index.htmlSekiranya firewall berjalan di sistem anda, anda perlu membenarkan lalu lintas Apache melaluinya:
$ sudo ufw membenarkan 80 / tcpKemudian muatkan semula konfigurasi firewall:
Muat semula $ ufwSekarang cuba mengakses laman web dalam penyemak imbas web anda dengan menaip http: // diikuti oleh sama ada alamat IP atau nama host pelayan web anda.
http: // nama host-atau-IP-alamat
Sebagai alternatif, anda juga boleh menggunakan perintah curl untuk menguji halaman web.
$ ikalPada pelayan web-2 192.168.72.159)
Lakukan langkah-langkah berikut di pelayan web kedua anda. Pastikan untuk mengganti nama host dan alamat IP dengan alamat IP dan nama host pelayan web anda yang berkenaan.
1. Konfigurasikan fail hos
Dalam pelayan web2, sunting / dll / tuan rumah fail:
$ sudo nano / etc / hostKemudian tambahkan entri nama host untuk Proksi HA pelayan seperti berikut:
HAproksi 192.168.72.1572. Pasang pelayan web Apache
Sekarang pasang pelayan web Apache menggunakan perintah di bawah di Terminal.
$ sudo apt install apache2Kemudian aktifkan dan mulakan perkhidmatan Apache menggunakan arahan di bawah di Terminal:
$ sudo systemctl mengaktifkan apache2$ sudo systemctl mulakan apache2
Buat fail indeks untuk pelayan web2 menggunakan perintah di bawah di Terminal:
$ gema "Helo! Ini adalah pelayan laman web2: 192.168.72.159
"| sudo tee / var / www / html / index.htmlBenarkan Apache di firewall:
$ sudo ufw membenarkan 80 / tcpdan kemudian muatkan semula konfigurasi firewall:
Muat semula $ ufwSekarang cuba mengakses laman web dalam penyemak imbas web anda dengan menaip http: // diikuti oleh sama ada alamat IP atau nama host.
http: // nama host-atau-IP-alamat
Sebagai alternatif, anda boleh menggunakan perintah curl untuk menguji halaman web.
$ ikalKini pelayan web Apache kami sudah siap.
Menyiapkan pelayan pengimbang beban HAproxy-Frontend
Di bahagian ini, kami akan menyediakan pengimbang beban HAproxy untuk kami pelayan web. Pelayan HAproxy ini akan bertindak sebagai pelayan frontend dan menerima permintaan masuk dari klien.
Pada Proksi HA pelayan (192.168.72.157), lakukan langkah-langkah di bawah ini untuk menyediakan pengimbang beban.
1. Konfigurasikan fail hos
Edit / dll / tuan rumah fail menggunakan arahan di bawah di Terminal:
$ sudo nano / etc / hostTambahkan entri nama host berikut untuk kedua-duanya Apache pelayan web bersama dengan nama hosnya sendiri:
192.168.72.157 HAproksi192.168.72.158 pelayan web1
192.168.72.159 pelayan web2
Sekarang simpan dan tutup / dll / tuan rumah fail.
Memasang pengimbang beban HAproxy
Sekarang dalam langkah ini, kami akan memasang HAproxy pada salah satu pelayan Ubuntu kami (192.168.72.157). Untuk melakukannya, kemas kini apt menggunakan perintah berikut di Terminal:
$ sudo apt-get kemas kiniKemudian kemas kini pakej menggunakan arahan di bawah:
$ sudo apt-get peningkatanSekarang pasang HAproxy menggunakan arahan berikut di Terminal:
$ sudo sudo apt memasang haproxy
Setelah pemasangan pelayan HAproxy selesai, anda boleh mengesahkannya menggunakan arahan di bawah di Terminal:
$ haproxy -vIa akan menunjukkan kepada anda versi HAproxy yang dipasang pada sistem anda yang mengesahkan bahawa HAproxy telah berjaya dipasang.
Mengkonfigurasi HAproxy sebagai pengimbang beban
Pada bahagian berikut, kami akan mengkonfigurasi HAproxy sebagai pengimbang beban. Untuk berbuat demikian, edit / etc / haproxy / haproxy.cfg fail:
$ sudo nano / etc / haproxy / haproxy.cfgLampirkan baris berikut dalam haproxy.fail cfg menggantikan alamat IP dengan alamat IP anda sendiri.
The frontend web-frontend dalam baris konfigurasi di atas memberitahu HAproxy untuk mendengar permintaan masuk di port 80 daripada 192.168.72.157 dan kemudian meneruskannya ke pelayan backend yang dikonfigurasi di bawah backend latar belakang web. Semasa mengkonfigurasi, ganti alamat IP dengan alamat IP yang relevan dari pelayan web anda.
Mengkonfigurasi Pemantauan HAproksi
Dengan pemantauan HAproxy, anda dapat melihat banyak maklumat termasuk status pelayan, data yang dipindahkan, waktu operasi, kadar sesi, dll. Untuk mengkonfigurasi pemantauan HAproxy, tambahkan baris berikut dalam fail konfigurasi yang terletak di / etc / haproxy / haproxy.cfg:
dengar statistikmengikat 192.168.72.157: 8080
mod http
opsyen ke hadapan untuk
pilihan httpclose
statistik membolehkan
statistik menunjukkan-legenda
statistik menyegarkan 5
statistik uri / statistik
stats realm Haproxy \ Statistik
stats auth kbuzdar: kbuzdar         #Login Pengguna dan Kata Laluan untuk pemantauan
pentadbir statistik sekiranya BENAR
laman web backend default_backend
Konfigurasi di atas membolehkan HAproxy â € œstatistikâ € halaman menggunakan statistik arahan dan selamatkannya dengan http pengesahan asas menggunakan nama pengguna dan kata laluan yang ditentukan oleh stats author arahan.
Setelah selesai dengan konfigurasi, simpan dan tutup haproxy.fail cfg.
Sekarang sahkan fail konfigurasi menggunakan arahan di bawah di Terminal:
$ haproxy -c -f / etc / haproxy / haproxy.cfgOutput berikut menunjukkan bahawa konfigurasi betul.
Sekarang untuk menerapkan konfigurasi, mulakan semula perkhidmatan HAproxy:
$ sudo systemctl mulakan semula haproxy.perkhidmatanIa akan berhenti dan kemudian memulakan perkhidmatan HAproxy.
Untuk memeriksa status perkhidmatan HAproxy, arahannya adalah:
$ sudo systemctl status haproxy.perkhidmatanThe aktif (berjalan) status dalam output berikut menunjukkan bahawa pelayan HAproxy diaktifkan dan berjalan dengan baik.
Berikut adalah beberapa arahan lain untuk menguruskan pelayan HAproxy:
Untuk memulakan pelayan HAproxy, arahannya adalah:
$ sudo systemctl mulakan haproxy.perkhidmatanUntuk menghentikan pelayan HAproxy, arahannya adalah:
$ sudo systemctl menghentikan haproxy.perkhidmatanSekiranya anda ingin mematikan pelayan HAproxy buat sementara waktu, arahannya adalah:
$ sudo systemctl lumpuhkan haproxy.perkhidmatanUntuk mengaktifkan semula pelayan HAproxy, arahannya adalah:
$ sudo systemctl mengaktifkan haproxy.perkhidmatanUji Proksi HA
Sebelum menguji persediaan HAproxy, pastikan anda mempunyai sambungan ke pelayan web. Dari pelayan HAproxy anda, ping kedua pelayan web sama ada dengan alamat IP atau nama host mereka.
$ ping nama host-atau-ip-alamatOutput berikut menunjukkan bahawa pelayan HAproxy dapat menjangkau kedua-dua pelayan web.
Uji Proksi HA menggunakan penyemak imbas web
Sekarang di pelayan HAproxy anda, buka mana-mana penyemak imbas web dan taip http: // diikuti dengan alamat IP pelayan HAproxy yang dalam kes kami adalah 192.168.72.157.
http: // 192.168.72.157Pelayan HAproxy secara alternatif akan menghantar permintaan ke kedua pelayan web dengan kaedah round-robin. Anda boleh mengujinya dengan memuat semula halaman web beberapa kali.
Ini adalah tindak balas yang kami terima semasa melawat http: // 192.168.72.157 buat pertama kalinya:
Ini adalah tindak balas yang kami terima semasa memuat semula halaman web:
Anda juga boleh menggunakan nama host sebagai ganti alamat IP pelayan HAproxy.
Uji Proksi HA menggunakan keriting
Anda juga boleh menggunakan perintah curl di Linux untuk menguji persediaan HAproxy. Buka Terminal dan taip kerinting diikuti dengan alamat IP atau nama hos pelayan HAproxy.
$ curl 192.168.72.157atau
$ curl HAproksiJalankan perintah curl beberapa kali dan anda akan melihat tindak balas bergantian antara kedua-dua pelayan web.
Daripada menjalankan perintah beberapa kali, anda juga boleh menjalankan skrip satu baris berikut untuk menguji pelayan HAproxy:
$ selagi benar; lakukan curl 192.168.72.157; tidur 1; selesai
Menguji Pemantauan HAproksi
Untuk mengakses halaman pemantauan HAproxy, ketik http: // diikuti dengan alamat IP / nama host pelayan HAproxy dan port 8080 / statistik:
http: // 192.168.72.157: 8080 / statistikatau
http: // HAproksi: 8080 / statistikKotak pengesahan berikut akan muncul. Masukkan nama pengguna dan kata laluan anda telah mengkonfigurasi sebelumnya dalam konfigurasi dan kemudian tekan okey.
Ini adalah laporan statistik untuk pelayan HAproxy kami.
Di sana anda mempunyai pemasangan dan konfigurasi pengimbang beban HAproxy pada sistem Linux. Kami baru sahaja membincangkan penyediaan asas dan konfigurasi HAproxy sebagai penyeimbang beban untuk pelayan web Apache. Kami juga melihat beberapa arahan untuk menguruskan pelayan HAproxy. Pada akhirnya, kami menguji load balancing melalui penyemak imbas dan perintah curl. Untuk maklumat lebih lanjut, lawati dokumentasi rasmi HAproxy